日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > CSS >内容正文

CSS

CSS之基于视窗单位的排版

發布時間:2023/12/10 CSS 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 CSS之基于视窗单位的排版 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.使用視窗單位進行排版

這里還有一個為什么要考慮使用視窗單位進行排版的原因 - 根據客戶端的瀏覽器,視窗單位會自動重新計算。這就意味著我們不需要顯式聲明媒體查詢的字體大小

實例1:讓我們用一個例子清楚地說明這一點

考慮下面的代碼,我在800px處將font-size的大小由16px 更改為 20px

當你看著這段代碼時,你可以在800px視窗時,立馬告訴font-size將大小由16px更改為20px。這是我們為了良好的視覺效果經常做的事情

但是,偶爾你也會遇到這種情況,在兩個斷點處你不得不額外增加一個媒體查詢以便在不同的設備上,排版依舊保持良好

但是不指定多個媒體查詢或者多個字體大小,你如何在不同情況下擁有相同效果呢?

這時候視窗單位就要發揮它的作用了,在視窗單位中設置font-size屬性,你就可以很容易的獲取一樣的效果

不過,正如你可以看到的,視窗單位太適應屏幕大小的改變。如果你也將字體大小設置為3vw,在一個屏幕寬度為320px的設備(移動)上,你得到的文本大小將為10px。這時字體過小而不適合閱讀。另一方面,在一個屏幕寬度為1440px的設備(筆記本電腦)上,你得到的字體大小將為43px,這時,字體又太大了

值得慶幸的是,這里有一個簡單的方法可以實現。我們可以設置一個最小的字體大小,然后在一個小視窗中通過多次使用calc()屬性縮放字體

2.calc的問題

我嘗試做的第一件事就是創建一個字體大小為 body 文本大小兩倍的<h1>元素。結果證實并不可以直接這么做,請看下面的實例

比方說你現在的視窗大小為800px。默認的font-size大小為16px

  • 在<html>中112.5%計算出的font-size大小為18px(112.5/100 * 16px)
  • 0.25vw計算出的值相等于2px(800px * 0.25 ÷ 100)\
  • <html>中計算的font-size大小為20px (18px + 2px)

到目前為止HTML計算是不是很好?太棒了!

我們將采用同樣的方式來解決<h1>的計算。這一次要特別注意112.5%的計算

  • <h1>中112.5%計算出來相當于22.5px的font-size大小(112.5/100 * 20px)
  • 0.25vw相當于2px(800px * 0.25 ÷ 100)
  • <h1>的font-size大小為49px((22.5px + 2px) * 2)

不幸的是,我們要尋找的正確的

大小為body的font-size大小的兩倍或者說是40px,所以該怎么辦呢??

3.精度公式解決問題

有什么辦法可以結合calc實現具體的功能呢?

還有一個更大的我不得不克服的問題。就是我之前曾經提出的一個疑問:”在視窗大小為800px的情況下你如何計算vw,使排版的單位大小為20px?”

讓我們說說你想要的結果…

  • 當視窗大小為600px時,font-size大小為18px
  • 當視窗大小為1000px時,font-size大小為22px

我們這里給出一個公式:

首先確定最小的屏幕600px的時候對應16*1.125=18px的字體,然后600px對應18px字體—-1000px對應22px字體,這就很明顯改變100px屏幕寬度字體會改變1px,所以很顯然(100vw-600px)是結果多少px就對應改變百分之多少px的字體值,所以可以最終得出結論:(100vw-600px)/100的結果值就是所改變的那幾個px的字體值,再加上之前的18px基礎值就可以了。

總結

以上是生活随笔為你收集整理的CSS之基于视窗单位的排版的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。