亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

使用min-content實現容器寬度自適應于內部元素

發布時間:2020-07-20 22:18:04 來源:網絡 閱讀:560 作者:三十課毛瑞 欄目:web開發

前言

設計師可以分為如下兩類:

  • 先做好設計,然后將內容放入靜態框架中
  • 優秀的設計師充分考慮內容的各個方面及其上下文,并創建適合于內容的設計

HTML原生就是響應式的(HTML內容在視口內流式的分布)。隨著CSS的廣泛應用,設計者創建了許多固定布局的“盒子”并把內容強制的放在盒子之中,這有悖于HTML原生響應的特性。

過去幾年出現了一場革命,包括自適應設計,響應式設計,移動優先設計等。所有這些思想最根本部分就是優先考慮內容。CSS3也因此定義和實現一些新的屬性。其中就包括內在和外在的寬度(intrinsic and extrinsic width values)。

引入問題

我們以一個常規的 WEB 頁面設計問題(figure 元素內的圖片)來引出問題并加以說明。

<figure>
    <img src="o4iaq1g8nr.jpg" />
    <figcaption>www.30ke.cn</figcaption>
    <p>三十客 - 一個專注于前端學習和分享的網站。</p>
</figure>

使用min-content實現容器寬度自適應于內部元素

因為figure是塊級標記,所以元素一直延伸到至整個容器中。 在以內容優先的設計中,我們通常希望容器 (本例中為 figure元素) 盡可能小。 到目前為止,有幾種方法可以實現。

figure {
    float: left;
}

使用min-content實現容器寬度自適應于內部元素

通過設置浮動,可以實現 figure 元素折疊。但是如果 figure 中的 p (段落)元素寬于圖片寬度,則figure元素會收縮至最寬的子元素,而不是圖片的寬度。
使用display: inline-blocktable-cell 同樣有上述問題。

figure {
    width: 500px;
}

figure 元素寫死一個寬度,但這使得元素固定并失去響應特性。

min-width 來幫忙

我們最終就是要找到最優的圖片容器的寬度以最達到最好的適應內部圖片的目的。如果內部的文本換行顯示也沒關系。

我們可以通過 min-content 來達到目的。盡管該值 2006 年就出現了,但還處在實驗階段,因此需要添加不同瀏覽器前綴。

figure {
    border: 2px solid black;
    background: #cae9b8;
    margin: 0;
    width: -moz-min-content;
    width: -webkit-min-content;
    width: min-content;
}

上述代碼,很好的解決了上述問題。而且 marginpadding 在圖片容器內部仍然有效。

min-content 是內在和外在的寬高系列值中的一個,其它還包括 max-contentfit-content等。這些值和 flexboxgrid 和其它布局系統,使得WEB設計更優秀更靈活。
min-content 的支持性很好,所有現代主流瀏覽器都支持該值,但是 Internet Explorer and Opera Mini 并不支持。

因此我們借助 max-widht 實現了回退的方案。

figure {
    max-width: 500px;
    max-width: min-content;
}

完整的帶回退的顯示方案見如下演示程序:

在線演示程序

原文地址

本文主要匯編自 Dudley Storey 的一篇博客,并加入了針對Internet Explorer and Opera Mini 的回退方案。但是因為本人水平有限,文中難免存在描述不清,代碼不完善等問題,還請大家多多予以批評指正!

參考文獻

CSS Intrinsic & Extrinsic Sizing Module Level 3
Design From the Inside Out With CSS Min-Content
play.csssecrets.io/

向AI問一下細節

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

AI

江口县| 阳高县| 社旗县| 曲松县| 明水县| 嘉荫县| 利辛县| 陆丰市| 湘乡市| 建始县| 平阴县| 铁岭市| 聂拉木县| 新竹县| 阳城县| 韶山市| 呼和浩特市| 莎车县| 吉安县| 石嘴山市| 瓦房店市| 瑞安市| 连州市| 西林县| 兴文县| 德庆县| 桂阳县| 周宁县| 南陵县| 武穴市| 乌拉特中旗| 大洼县| 安国市| 刚察县| 曲靖市| 新泰市| 铜山县| 甘肃省| 长寿区| 连云港市| 阿坝县|