css3中水平居中的一個你可能不知道的細(xì)節(jié)

1、前言


最近在使用postcss-center的時候,不理解css水平居中為什么需要“margin-right:-50%”。

margin-right:-50%

所以給作者commit了一個Issues
commit了一個Issues

根據(jù)作者提供的鏈接,才弄清楚這個細(xì)節(jié),特此記錄一下。

2、為什么水平居中需要 margin-right: -50%;?


  • 細(xì)節(jié)問題展示

首先創(chuàng)建一個test.html
<html>
  <style>
    body {
        background: white }
    section {
        background: black;
        color: white;
        border-radius: 1em;
        padding: 1em;
        position: absolute;
        top: 50%;
        left: 50%;
        /*margin-right: -50%;*/
        transform: translate(-50%, -50%) }
  </style>
  <section>
    <h1>Nicely centered</h1>
    <p>This text block is vertically centered.
    <p>Horizontally, too, if the window is wide enough.
  </section>
  <html/>
打開test.html,嘗試調(diào)整窗口大小到最窄。
打開test.html,嘗試調(diào)整窗口大小到最窄。
注釋margin-right: -50%;
注釋margin-right: -50%;
刷新瀏覽器test.html
刷新瀏覽器test.html
  • 細(xì)節(jié)分析

原理分析

'left: 50%'將元素的可用寬度減少50%。因此,渲染器將嘗試渲染不超過容器寬度一半的寬度。通過'margin-right: -50%'元素的右邊距在右邊相同的數(shù)量,渲染最大寬度再次與容器的寬度相同。

結(jié)果分析

當(dāng)嘗試調(diào)整窗口大小時,窗口寬度足夠?qū)挼臅r候,您會看到每個句子都在一行上。只有當(dāng)整個句子的窗口太窄時,句子才能被分割成幾行。
當(dāng)您將窗口寬度調(diào)整是文本行的兩倍寬度時

  • 'margin-right:-50%'未被注釋,您會看到每個句子都在一行上
  • 'margin-right:-50%'被注釋,句子被分割成幾行。

3、最后


如果有什么疑問,可以在下面評論或者私信我。
如果您覺得有幫助,請給我點個??,謝謝。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標(biāo)簽?zāi)J(rèn)的外補...
    _Yfling閱讀 14,168評論 1 92
  • ?前端面試題匯總 一、HTML和CSS 21 你做的頁面在哪些流覽器測試過?這些瀏覽器的內(nèi)核分別是什么? ...
    Simon_s閱讀 2,377評論 0 8
  • 1.絕對定位居中技術(shù) 我們一直用margin:auto實現(xiàn)水平居中,而一直認(rèn)為margin:auto不能實現(xiàn)垂直居...
    DecadeHeart閱讀 1,666評論 0 3
  • 收聽音頻,戳鏈接,舊號itclan已暫停使用,歡迎關(guān)注微信itclanCoder公眾號可收聽更多音頻 前言 關(guān)于網(wǎng)...
    itclanCoder閱讀 8,354評論 3 30
  • 最近看的一個視頻和思考。 一個視頻是介紹一個人了解世界的五感(視覺,聽覺,嗅覺,觸覺和味覺)說到底都是各種電信號傳...
    neolovedog閱讀 706評論 0 0

友情鏈接更多精彩內(nèi)容