<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題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關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        元素auto寬高的影響因素_html/css

        來源:懂視網 責編:小采 時間:2020-11-27 16:39:46
        文檔

        元素auto寬高的影響因素_html/css

        元素auto寬高的影響因素_html/css_WEB-ITnose:我們知道,元素在沒有設置寬高的情況下,默認的寬高值都為 auto 。而這個 auto 到底是如何讓元素自動擁有寬高的呢,也就是說,元素的寬度和高度到底會受到什么因素的影響?本文將通過一個例子來對這一問題一探究竟,HTML結構和初始css如下: .
        推薦度:
        導讀元素auto寬高的影響因素_html/css_WEB-ITnose:我們知道,元素在沒有設置寬高的情況下,默認的寬高值都為 auto 。而這個 auto 到底是如何讓元素自動擁有寬高的呢,也就是說,元素的寬度和高度到底會受到什么因素的影響?本文將通過一個例子來對這一問題一探究竟,HTML結構和初始css如下: .

        我們知道,元素在沒有設置寬高的情況下,默認的寬高值都為 auto 。而這個 auto 到底是如何讓元素自動擁有寬高的呢,也就是說,元素的寬度和高度到底會受到什么因素的影響?本文將通過一個例子來對這一問題一探究竟,HTML結構和初始css如下:

         
         .container { position: relative; width: 200px; height: 200px; background-color: #ff9; } .test { border: 1px solid #979797; background-color: #f1f1f1; }

        元素普通流定位(position為static或relative)

        auto寬度

        先看上面代碼運行結果:

        再往元素里加點內容:

        所以不設置 position 屬性時(也就是取默認值 static ),就如上面的運行結果所示,元素的寬度似乎會自適應于容器的寬度,而高度則和元素內容高度有關。

        但要注意所謂的寬度自適應并不是指元素的寬度就一定會等于的容器寬度,而是指元素的 寬度+左右padding+左右border+左右margin 等于的容器寬度。比如下面我再給 .test 元素加上margin之后,元素的寬度可就不等于容器的寬度了:

        在進一步測試極端情況:

        此時元素的寬度被margin擠得不見,文本溢出了。

        auto高度

        由上文可見元素的auto高度只會一直隨內容的高度在同步變化,并不會去“自適應”容器的高度,即使元素已經溢出容器:

        當然,上面只是討論了元素內容為文本的情況,所以auto高度才這么老實地跟隨內容變化。而如果內容是塊級元素,雖然一般情況下auto高度還是隨內容高度變化的,但若內容采用絕對定位或浮動時,就會導致我們很熟悉的“溢出”(高度塌陷)了:

        同時通過這兩個例子,也可以看到auto寬度還是繼續在自適應容器的寬度。

        結論

        結論就是:在默認定位的情況下,元素的auto寬度始終都會自適應于容器的寬度;而auto高度則和元素內容的高度有關,除非遇到內容浮動或絕對定位時引發的高度塌陷。

        若采用相對定位,結果和上面也是一樣的。原理也很好理解,畢竟相對定位時元素還是在原位置渲染的,只是多了個可以設置相對偏移罷了,各位可以自己試試看~

        元素絕對定位和浮動

        auto寬度

        現在我們讓 .test 元素絕對定位:

        再加點內容:

        只有添加了內容元素才會有寬度,顯然寬度只會適應內容的寬度咯。但還有個特殊情況,就是文本內容的寬度會因為換行飄忽不定,所以當我們再加長文本長度后:

        .test 元素的文本居然自動換行,導致寬度適應容器了,再禁止換行看看:

        嗯,在不能換行時,就還是只會適應內容的寬度。所以下面要解決的,就是文本內容的換行規則是什么,或者說文本內容的寬度受什么影響?

        規則其實不難:在可以自動換行( white-space: normal/pre-wrap/pre-line )時,文本中最長的一個單詞或中文字符的長度就是最小的換行單位(若設置了 word-break: break-all 甚至可以取每個字母的長度作為換行單位),這個最小的換行單位是不可分割的。在文本容器寬度不夠時,文本就只會在空格或 - 等字符處自動換行,而不會去分割換行單位。這條規則是不能違背的,我們可以來弄個超長的單詞看看:

        上面的結果說明, .test 元素的文本確實會自動換行來讓元素寬度適應容器,但也只能是在換行規則下盡力而為,不會為適應容器而去分割單詞;當然,若設置 word-break: break-all 就可以“盡力”得到這樣的結果了:

        而如果 .test 元素到了容器外,文本依然會換行讓 .test 元素寬度“適應”容器,哪怕此時給擠壓成這樣:

        auto高度

        最后來看下auto高度,上面幾個例子中auto高度也是一直隨文本內容的高度在同步變化。而如果內容是浮動時,也應該是這樣,因為設置容器絕對定位也是清除浮動的方法之一嘛:

        但當內容是絕對定位時,還是會溢出,而且因為內容溢出導致寬度也沒了:

        結論

        綜上,結論就是:

        1. 內容為純文本的元素絕對定位時,則其文本會盡量嘗試換行以讓元素的auto寬度適應容器的寬度。

        2. 而若元素內容只是定寬的塊級元素,就不存在這種auto寬度變來變去的情況。且當內容是絕對定位或浮動的,不會讓元素的寬高被直接置0。

        3. 當元素內容既有純文本又有塊級元素時,顯然就得比較兩者誰更寬,元素的auto寬度最終由最寬者決定。

        4. auto高度只和元素的內容的總高度有關,除非遇到內容絕對定位時引發的高度塌陷。

        同樣,經過驗證, .test 采用浮動定位時,結論和上面討論的絕對定位是一樣的。

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        元素auto寬高的影響因素_html/css

        元素auto寬高的影響因素_html/css_WEB-ITnose:我們知道,元素在沒有設置寬高的情況下,默認的寬高值都為 auto 。而這個 auto 到底是如何讓元素自動擁有寬高的呢,也就是說,元素的寬度和高度到底會受到什么因素的影響?本文將通過一個例子來對這一問題一探究竟,HTML結構和初始css如下: .
        推薦度:
        標簽: 元素 html 的影響
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 亚洲精品理论电影在线观看| 狠狠热精品免费观看| 亚洲人xxx日本人18| 国产偷国产偷亚洲高清人| a毛片免费在线观看| 在线看片无码永久免费aⅴ | 亚洲国产精品一区二区久久| 亚洲中文字幕无码一去台湾| 毛片a级三毛片免费播放| 国产亚洲综合色就色| 人人狠狠综合久久亚洲 | 欧美好看的免费电影在线观看 | 中文字幕免费在线看线人| 国产亚洲精品拍拍拍拍拍| 亚洲AV无码一区二区三区牲色| 老司机永久免费网站在线观看| 亚洲日韩中文字幕| 久久青草91免费观看| 亚洲精品国产精品乱码不99| 久久久久久AV无码免费网站下载| 亚洲中久无码不卡永久在线观看| 日韩欧美亚洲国产精品字幕久久久| 免费人成视频在线观看不卡| 天堂亚洲国产中文在线| 色播精品免费小视频| 久久精品亚洲中文字幕无码麻豆| 国产无遮挡色视频免费观看性色| 国产免费av片在线播放| 亚洲精品国产精品| 国产性爱在线观看亚洲黄色一级片 | 99在线在线视频免费视频观看| 精品国产亚洲一区二区在线观看| 国产成人AV免费观看| 国产亚洲美女精品久久久| 91精品视频在线免费观看| 亚洲综合精品一二三区在线 | 84pao强力永久免费高清| 亚洲七久久之综合七久久| 免费看a级黄色片| 在线看片免费人成视频久网下载| 亚洲精品亚洲人成在线观看麻豆 |