国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問(wèn)答1問(wèn)答10問(wèn)答100問(wèn)答1000問(wèn)答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
當(dāng)前位置: 首頁(yè) - 科技 - 知識(shí)百科 - 正文

實(shí)例講解使用CSS保持頁(yè)面內(nèi)容寬高比方法

來(lái)源:懂視網(wǎng) 責(zé)編:小采 時(shí)間:2020-11-27 18:52:39
文檔

實(shí)例講解使用CSS保持頁(yè)面內(nèi)容寬高比方法

實(shí)例講解使用CSS保持頁(yè)面內(nèi)容寬高比方法:這篇文章實(shí)例講解使用CSS保持頁(yè)面內(nèi)容寬高比方法,作者舉了偽元素和vw單元等不同方法下的例子,需要的朋友可以參考下需求描述:移動(dòng)端實(shí)現(xiàn)橫跨頁(yè)面半圓。(類似問(wèn)題,實(shí)現(xiàn)4x4的正方形網(wǎng)格)簡(jiǎn)化問(wèn)題,我們可以理解為實(shí)現(xiàn)一個(gè)高度和寬度比為1:2的塊。需要解決問(wèn)
推薦度:
導(dǎo)讀實(shí)例講解使用CSS保持頁(yè)面內(nèi)容寬高比方法:這篇文章實(shí)例講解使用CSS保持頁(yè)面內(nèi)容寬高比方法,作者舉了偽元素和vw單元等不同方法下的例子,需要的朋友可以參考下需求描述:移動(dòng)端實(shí)現(xiàn)橫跨頁(yè)面半圓。(類似問(wèn)題,實(shí)現(xiàn)4x4的正方形網(wǎng)格)簡(jiǎn)化問(wèn)題,我們可以理解為實(shí)現(xiàn)一個(gè)高度和寬度比為1:2的塊。需要解決問(wèn)
這篇文章實(shí)例講解使用CSS保持頁(yè)面內(nèi)容寬高比方法,作者舉了偽元素和vw單元等不同方法下的例子,需要的朋友可以參考下

需求描述:移動(dòng)端實(shí)現(xiàn)橫跨頁(yè)面半圓。(類似問(wèn)題,實(shí)現(xiàn)4x4的正方形網(wǎng)格)
實(shí)例講解使用CSS保持頁(yè)面內(nèi)容寬高比方法

簡(jiǎn)化問(wèn)題,我們可以理解為實(shí)現(xiàn)一個(gè)高度和寬度比為1:2的塊。

需要解決問(wèn)題:

       1,高度和寬度按照一定比例。

       2,外容器高度和寬度不確定。

       3,盡量不使用圖片和腳本替代。

       4,兼容移動(dòng)端。

編寫html

<p class = "semicircle"></p>

 

思考一,使用height:100%,

body{ 
 margin:0; 
 width: 100%; 
 background: lightblue; 
} 

.semicircle { 
 width: 100%; 
 height: 100%; 
 border-top:5px solid #fff; 
 border-radius: 100%; 
}

  存在問(wèn)題,height的百分比是根據(jù)父容器計(jì)算的,不是當(dāng)前容器,根本滿足不了我們的需求。效果如下:
實(shí)例講解使用CSS保持頁(yè)面內(nèi)容寬高比方法

父容器body的高度百分比為其子容器所填充的高度關(guān)聯(lián),即便設(shè)置body高度100%,由于子容器即semicircle所填充的實(shí)際高度為邊界的5,無(wú)法將父容器“全部撐開”,因此無(wú)法通過(guò)設(shè)定父容器的高度為百分比指定寬高按照一定比例的容器。

思考二,設(shè)定padding-top或padding-bottom為100%
The percentage is calculated with respect to the width of the generated box's containing block [...] (source: w3.org, emphasis mine)

百分比寬度的計(jì)算與所生成盒子的包含塊寬度有關(guān)。padding-top、padding-bottom的百分比是根據(jù)父容器的width(寬度)計(jì)算的,而不是height(高度)。其他比例實(shí)現(xiàn)對(duì)照表

aspect ratiopadding-bottom value
16:956.25%
4:375%
3:266.66%
8:562.5%
body{ 
 margin:0; 
 width: 100%; 
 background: lightblue; 
} 

.semicircle { 
 width: 100%; 
 height: 0; 

 padding-bottom: 100%; 
 border-top:5px solid #fff; 
 border-radius: 100%; 
}

思考三,使用vw單元
使用vw單元設(shè)定元素高度和寬度,vm的大小是通過(guò)viewport的寬度設(shè)定的,因此可以通過(guò)該方法保持容器按照一定比例顯示。一單位的vw等于百分之一的viewport寬度,即100vw等于100%viewport寬度。

body{ 
 margin:0; 
 width: 100%; 
 background: lightblue; 
} 

.semicircle { 
 width: 100vw; 
 height:100vw; 
 border-top:5px solid #fff; 
 border-radius: 100%; 
}

對(duì)照表

aspect ratiomultiply width by
1:11
1:33
4:30.75
16:90.5625


思考四,使用偽元素和inline-block布局

body { 
 width: 100%; 
 font-size: 0; 
 text-align: center; 
 background: lightblue; 
} 
.semicircle { 
 border-top:5px solid #fff; 
 border-radius: 100%; 
} 

.semicircle:before { 
 content:""; 
 display: inline-block; 
 padding-bottom: 100%; 
}

雖然代碼有點(diǎn)復(fù)雜,但是靈活性強(qiáng),可以實(shí)現(xiàn)更多類似的效果。

當(dāng)需求改成實(shí)現(xiàn)一個(gè)橫跨屏幕80%的寬度的半圓,我們只需要在.semicircle中添加屬性width:80%;,順便也把容器居中實(shí)現(xiàn)了。

該方法的原理很清晰:

參考思考一,無(wú)法通過(guò)高度100%來(lái)擴(kuò)充外容器高度,那么可以通過(guò)偽元素,插入一個(gè)高度和寬度一致的元素,將容器撐開成一比一高度的容器。注意,該方法實(shí)現(xiàn)半圓,實(shí)際需要寬高為一比一的容器,即占用空間為上述方法的兩倍。

設(shè)置:before元素邊界,解析原理:
實(shí)例講解使用CSS保持頁(yè)面內(nèi)容寬高比方法

思考五,使用圖片,兼容低檔次移動(dòng)設(shè)備。

semicircler img { 
 width: 100%; 
 background-repeat: no-repeat; 
 background-size: 100% 100%; 
 background-image: url(../img/autoresized-picture.jpg); 
}

使用腳本,css更加簡(jiǎn)潔明了,目標(biāo)清晰。

p.style.height=p.offsetWidth+"px";

對(duì)于實(shí)現(xiàn)2*2正方形網(wǎng)格
實(shí)例講解使用CSS保持頁(yè)面內(nèi)容寬高比方法

*------main code-------*/ 
 body { 
 width: 100%; 
 margin:0; 
 text-align: center; 
 } 
 p{ 
 display: inline-block; 
 width: 50%; 
 background: lightblue; 
 font-size: 12px; 
 position: relative; 
 vertical-align: middle; 
 } 

 p:before { 
 content:""; 
 display: inline-block; 
 padding-bottom: 100%; 
 vertical-align: middle; 

 } 

 /*------other code-------*/
 p:nth-child(2),p:nth-child(3){ 
 background: pink; 
 } 


 span { 
 display: inline-block; 
 vertical-align: middle; 
 font-size: 6em; 
 color: #fff; 
 }

聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

實(shí)例講解使用CSS保持頁(yè)面內(nèi)容寬高比方法

實(shí)例講解使用CSS保持頁(yè)面內(nèi)容寬高比方法:這篇文章實(shí)例講解使用CSS保持頁(yè)面內(nèi)容寬高比方法,作者舉了偽元素和vw單元等不同方法下的例子,需要的朋友可以參考下需求描述:移動(dòng)端實(shí)現(xiàn)橫跨頁(yè)面半圓。(類似問(wèn)題,實(shí)現(xiàn)4x4的正方形網(wǎng)格)簡(jiǎn)化問(wèn)題,我們可以理解為實(shí)現(xiàn)一個(gè)高度和寬度比為1:2的塊。需要解決問(wèn)
推薦度:
標(biāo)簽: 頁(yè)面 例子 保持
  • 熱門焦點(diǎn)

最新推薦

猜你喜歡

熱門推薦

專題
Top 主站蜘蛛池模板: 久久99精品一区二区三区 | 精品欧美一区手机在线观看 | 国产精品亚洲综合 | 热@国产| 爱爱免费 | 国产精品久久一区 | 国产二区视频 | 国产精品天天看大片特色视频 | 亚洲欧美精品伊人久久 | 国产偷窥女洗浴在线观看 | 亚洲视频免费观看 | 国产伦精品一区二区三区网站 | 欧美日韩三级在线 | 亚洲国产精品综合久久一线 | 国产小视频在线免费观看 | 黄片毛片一级 | 欧美日本一道本 | 亚洲一区二区三区精品影院 | 欧美日韩视频在线播放 | 国产在线精品99一卡2卡 | 精品一区二区三区四区 | 欧美在线1 | 国产区最新 | 国产观看 | 国产成人高清亚洲一区久久 | 欧美色图中文字幕 | 精品欧美 | 性插网站| 一级黄毛片 | 欧美精品久久天天躁 | 欧美日韩性视频在线 | 香蕉久久夜色精品国产小说 | 国产精品欧美激情在线播放 | 亚洲高清色 | 亚洲第一页在线播放 | 手机在线国产视频 | 手机在线观看国产精选免费 | 国产精品系列在线一区 | 国产一二区视频 | 欧美激情免费观看一区 | 免费精品国产 |