溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

css如何保持div等高寬比

發布時間:2020-08-09 17:54:22 來源:ITPUB博客 閱讀:210 作者:智云編程 欄目:web開發

那么css如何實現高度height隨寬度width變化保持比例不變呢?即給定可變寬度的元素,它將確保其高度以響應的方式保持成比例(即,其寬度與高度的比率保持恒定)。

下面以高寬 2:1 為例,通過2種方式來實現這種效果。

方式一:利用定位實現

.wrapper{
  position : relative;
  background: #ccc;
  width: 10%;
  padding-bottom : 20%;
}
.inner{
  position : absolute;
  top : 0; left : 0; right : 0; bottom : 0;
}
</style>
<div class="wrapper">
    <div class="inner">
        這是內容
    </div>
</div>

說明:其中奧妙就在于padding-bottom:20%, padding-bottom 是相對寬度的.也就是整個Wrapper的高度等于padding-bottom 的高度,Wrapper 沒有內容高度.沒有內容高度如何往其中放置我們準備的DIV呢?答案是 絕對定位, 所以Wrapper的樣式中有position:relative, 方便子元素相對Wrapper的左頂點定位.

方式二:利用偽元素

<style>
.wrapper {
  background: #ccc;
  width: 10%;
}
.wrapper::before {
  content: '';
  padding-top: 200%;
  float: left;
}
.wrapper::after {
  content: '';
  display: block;
  clear: both;
}
</style>
<div class="wrapper">
    這是內容
</div>

padding-top 在...上::before 偽元素使元素的高度等于其寬度的百分比。200% 因此表示元素的高度始終為200% 的寬度,創建一個響應正方形。 此方法還允許內容正常放置在元素內部。

總結

二種方式實現的效果都一樣,大家可以試一下,調整瀏覽器窗口的大小以查看元素的比例保持不變。

個人推薦使用方法二,這樣可以減少div的嵌套。不過方法一的兼容更好

這里推薦一下我的前端技術分享群:731771211,里面都是學習前端的,如果你想制作酷炫的網頁,想學習編程。自己整理了一份2019最全面前端學習資料,從最基礎的HTML+CSS+JS【炫酷特效,游戲,插件封裝,設計模式】到移動端HTML5的項目實戰的學習資料都有整理,送給每一位前端小伙伴,有想學習web前端的,或是轉行,或是大學生,還有工作中想提升自己能力的,正在學習的小伙伴歡迎加入學習。

點擊: 加入


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女