• <fieldset id="8imwq"><menu id="8imwq"></menu></fieldset>
  • <bdo id="8imwq"><input id="8imwq"></input></bdo>
    最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題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關(guān)鍵字專題關(guān)鍵字專題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
    當(dāng)前位置: 首頁 - 科技 - 知識(shí)百科 - 正文

    IFE-Task-04:定位和居中問題_html/css

    來源:懂視網(wǎng) 責(zé)編:小采 時(shí)間:2020-11-27 16:40:37
    文檔

    IFE-Task-04:定位和居中問題_html/css

    IFE-Task-04:定位和居中問題_html/css_WEB-ITnose:這次的任務(wù)是實(shí)現(xiàn)下圖中灰色元素居中,黃色扇形元素始終在貼附在容器的邊框內(nèi)。 理論知識(shí) 定位元素上篇文章講過,這里再相互比較。 | static | relative | absolute | fixed | | ------| ------ | ------ | ------ | | 普通
    推薦度:
    導(dǎo)讀IFE-Task-04:定位和居中問題_html/css_WEB-ITnose:這次的任務(wù)是實(shí)現(xiàn)下圖中灰色元素居中,黃色扇形元素始終在貼附在容器的邊框內(nèi)。 理論知識(shí) 定位元素上篇文章講過,這里再相互比較。 | static | relative | absolute | fixed | | ------| ------ | ------ | ------ | | 普通

    這次的任務(wù)是實(shí)現(xiàn)下圖中灰色元素居中,黃色扇形元素始終在貼附在容器的邊框內(nèi)。

    理論知識(shí)

    定位元素上篇文章講過,這里再相互比較。

     | static | relative | absolute | fixed | | ------| ------ | ------ | ------ | | 普通流 | 普通流 | 脫離普通流 | 脫離普通流 | | 無法設(shè)置位移 | 可以設(shè)置位移 | 可以設(shè)置位移 | 可以設(shè)置位移 | | 正常位置 | 定位相對(duì)于初始位置 | 定位于非static的祖先元素 | 定位相對(duì)于瀏覽器窗口 |

    居中

    居中問題詳解 介紹的很清楚。塊級(jí)元素和行內(nèi)元素的居中方法有所不同。

    1. 水平居中

      塊級(jí)元素能夠通過設(shè)置元素內(nèi)文本水平居中({ text-align: center; }),可以將元素內(nèi)部的行內(nèi)元素居中。而塊級(jí)元素自己則通過margin-left、margin-right設(shè)置為auto。這是有 原因(原文) 的,(在W3C模型中)在水平方向上,包含元素的父元素(元素包含塊)的寬度(width)由:margin-left、border-left、padding-left、width、padding-right、border-right、margin-right7個(gè)屬性確定。屬性值默認(rèn)為0,或者特定值。而width、margin-left、margin-right還可以設(shè)置為auto:

    2. 三者之中有一個(gè)設(shè)置為auto,則該屬性的寬度為父元素的寬度減去其他兩個(gè)屬性的值。
    3. 如果width固定,margin: auto,則兩個(gè)margin平分剩下的寬度。
    4. 如果三個(gè)屬性都設(shè)置auto,而margin設(shè)置為0,而width寬度為盡可能的寬。
    5. 所以我們可以通過設(shè)置左右外邊距來水平居中block元素,{ margin: 0 auto; }。但是這個(gè)方法無法滿足多個(gè)block(inline-block)在一行中水平居中。但是我們可以使用flex布局來將多個(gè)block元素在一行中水平居中。使用樣式{ display: flex; justify-content: center; } 即可讓flex布局的元素水平居中。

    6. 垂直居中

      行內(nèi)元素不能設(shè)置左右內(nèi)邊距、外邊距,但是可以設(shè)置padding-top、padding-bottom兩個(gè)屬性相等來垂直居中。當(dāng)多行元素在寬度較小的屏幕上重疊時(shí),就需要設(shè)置line-height和white-space,{ line-height: 需要的高度; white-space: nowrap: } 來垂直居中。如果元素為table cell,使用vertical-align = middle。當(dāng)然也使用flex布局,在 flex容器上設(shè)置 flex-direction: column (注意容器需要設(shè)置固定高度),即可垂直布局。

      塊級(jí)元素有分為是否確定高度。如果確定高度,則在relative父元素內(nèi)的absolute子元素中設(shè)置位移top為50%,margin-top則為高度的一半的負(fù)值。并且依據(jù)盒子模型,還有需要考慮padding和border的大小。而不確定高度的情況,就需要使用translateY來講元素居中,{ top: 50%; transform: translateY(-50%); }。最后flex布局也是要給萬金油方法,{ display: flex; flex-direction: column; justify-content: center; }。這個(gè)屬性的設(shè)置還可以保持水平居中。

    7. 水平垂直居中

      結(jié)合上述兩個(gè)方面的方法,可以總結(jié)水平垂直居中的方法也有三種。

    8. 知道寬高: 使用考慮容器寬高大小,將margin-top和marging-left設(shè)置原有寬高的一半,再通過位移移動(dòng)到中間位置。{ margin: -{ 容器 / 2 } px 0 0 -{ 容器 / 2 }px; top: 50%; left: 50%; },這里只考慮了W3c模型,IE模型還需將border大小考慮進(jìn)來。
    9. 不知道寬高: 設(shè)置樣式 { top: 50%; left: 50%; transform: translate(-50%, -50%); } 即可。
    10. 萬金油flex: 設(shè)置樣式 { display: flex; flex-direction: column; justify-content: center; } 即可。

    實(shí)踐

    題目要求水平垂直方向都居中并且知道寬高,我就使用了第一種方法。而只有在absolute定位下才能使用百分比高度。

    .content { position: absolute; background-color: #ccc; height: 200px; width: 400px; margin: -100px 0 0 -200px; top: 50%; left: 50%;}

    其容器樣式元素結(jié)果如下圖。

    而兩個(gè)四分之一圓需要使用圓角邊框border-radius設(shè)置,其設(shè)置單個(gè)半徑的 語法 為 border-radius: top-left top-right bottom-right bottom-left。左上角的圓半徑應(yīng)該設(shè)置在第三個(gè)值上,并且元素的位移應(yīng)該設(shè)置為top和left為零來貼合到容器邊框上。

    .leftquarter { top: 0; left: 0; -moz-border-radius: 0 0 50px 0; /* 四分之一圓 */ -webkit-border-radius: 0 0 50px 0; border-radius: 0 0 50px 0;}

    同理,右下角的圓半徑一個(gè)設(shè)置在第一個(gè)值上,并將其貼合在容器的右下角。

    .rightquarter { right: -350px; bottom: -100px; -moz-border-radius: 50px 0 0 0; /* 四分之一圓 */ -webkit-border-radius: 50px 0 0 0; border-radius: 50px 0 0 0; }

    當(dāng)然,他們繼承一個(gè)公共樣式position: relative,以設(shè)置元素的位移。

    .element { position: relative; background-color: #fc0; height: 50px; width: 50px; }

    結(jié)果如下圖,無論瀏覽器窗口怎么變化,元素始終居中。

    demo 地址 。

    參考:

    居中方法詳解

    CSS制作圖形速查表

    聲明:本網(wǎng)頁內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文檔

    IFE-Task-04:定位和居中問題_html/css

    IFE-Task-04:定位和居中問題_html/css_WEB-ITnose:這次的任務(wù)是實(shí)現(xiàn)下圖中灰色元素居中,黃色扇形元素始終在貼附在容器的邊框內(nèi)。 理論知識(shí) 定位元素上篇文章講過,這里再相互比較。 | static | relative | absolute | fixed | | ------| ------ | ------ | ------ | | 普通
    推薦度:
    標(biāo)簽: 定位 居中 問題
    • 熱門焦點(diǎn)

    最新推薦

    猜你喜歡

    熱門推薦

    專題
    Top
    主站蜘蛛池模板: 青草青草久热精品视频在线网站| 国产69精品久久久久777| 国产精品99久久久久久www| 亚洲av午夜福利精品一区人妖| 2022国产精品最新在线| 日韩人妻无码精品久久久不卡 | 亚洲精品小视频| 亚洲国产精品特色大片观看完整版| 国产成人精品久久| 国产AV无码专区亚洲精品 | 国产国产成人精品久久| 无码少妇精品一区二区免费动态| 精品亚洲一区二区三区在线观看| 久久精品九九亚洲精品天堂| 久久国产精品99国产精| 亚洲一区无码精品色| 精品人妻无码专区中文字幕| 51精品资源视频在线播放| 精品久久777| 国产精品2019| 99re66热这里只有精品| 国精品午夜福利视频不卡| 无码人妻精品一区二区三| 一本色道久久88—综合亚洲精品| 日韩精品人成在线播放| 久久国产精品一区| 久久精品国产亚洲5555| 久久精品国产精品亚洲下载| 精品国产人成亚洲区| 精品人妻少妇一区二区三区不卡| 国自产精品手机在线观看视频| 国产精品无码一区二区在线| 国产精品99久久久久久董美香| 国产精品 猎奇 另类视频| 国产精品日日摸夜夜添夜夜添1国产精品va欧美精| 久久免费国产精品一区二区| 九九99精品久久久久久| 日韩精品免费在线视频| 999久久久免费国产精品播放| 国产L精品国产亚洲区久久 | 亚洲欧美一级久久精品|