• <fieldset id="8imwq"><menu id="8imwq"></menu></fieldset>
  • <bdo id="8imwq"><input id="8imwq"></input></bdo>
    最新文章專題視頻專題問答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
    主站蜘蛛池模板: 久久九九精品99国产精品| 亚洲中文久久精品无码| 久久夜色撩人精品国产| 国产亚洲欧美精品永久| 精品国产高清在线拍| 2021精品国产综合久久| 最新精品露脸国产在线| 欧美一卡2卡3卡四卡海外精品| 亚洲精品美女久久久久99| 国产成人精品高清不卡在线| 久久国产精品99精品国产| 久久国产乱子伦精品免费午夜| 国产69精品久久久久777| 伊人久久大香线蕉精品不卡| 国产精品.XX视频.XXTV| 99久久国产综合精品麻豆| 亚洲中文字幕久久精品无码喷水| 国产在AJ精品| 亚洲一区精品中文字幕| 99国产精品久久| 亚洲av无码乱码国产精品| 久久久无码精品午夜| 99久久www免费人成精品| 国产福利在线观看精品| 人妻少妇精品中文字幕av蜜桃| 青青青青久久精品国产h久久精品五福影院1421 | 日韩亚洲精品福利| 国产精品成人h片在线| 四虎国产精品永久地址51| 97视频在线观看这里只有精品| 久久精品国产第一区二区三区| 亚洲av成人无码久久精品| 中文字幕精品一区二区三区视频| 欧美日韩精品一区二区三区不卡| 久久精品国产亚洲精品| 精品久久久久中文字| 国产系列高清精品第一页| 国语自产精品视频| 久久99精品免费一区二区| 久久久国产精品| 亚洲第一区精品观看|