css中關於auto屬性的使用詳解

來源:互聯網
上載者:User
—什麼是auto?

+auto是自適應的意思,auto是很多尺寸值的預設值,也就是由瀏覽器自動計算。

+區塊層級元素中margin、border、padding以及content寬度之和構成父元素width。

使用auto屬性後,父元素寬度發生變化,該元素的寬度也會隨之變化。

中 auto 的值就是margin、border、padding以及content寬度之和

+但是當該元素被設為浮動時,該元素的width就變成了內容的寬度了,由內容撐開,也就是所謂的有了包裹性。

overflow | position:absolute | float:left/right都可以產生包裹性,替換元素也同樣具有包裹性。

*|position:relavtive|相對定位 占原來的位置,不能實現模式的轉化,即不具有包裹性。

所以在具有包裹性的元素上不可以利用width : auto;來讓元素寬度自適應瀏覽器寬。如所示

—有時設定margin:0 auto;不起作用?

+maigin: 0 auto; 指元素的上下邊距為0,左右邊距根據於父元素(body)寬度自適應,即左右水平置中。如果該設定不起作用大致下面兩種原因。

+(1)沒有為p設定寬度,如果p麼有寬度,就無法參考父元素的寬度來進行自身的auto。

+(2)p具有包裹性,即脫離標準流,就好比父物件所在的標準流比喻成地表,那包裹性元素就已經上天了。沒有了可供參考的父元素寬度進行auto。

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.