<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                ### 深入理解content #### content與替換元素 我們根據“外在盒子”是內聯還是塊級將元素分成內聯元素和塊級元素兩種,也可以根據內容是否可替換將元素分為可替換元素和不可替換元素。`<img>\<object>\<video>\<iframe>`等都是可替換元素。 *** `src=""`即便是這樣仍然有圖片請求,它請求的是當前頁面數據,當沒有src屬性時,圖片便不會有任何請求。“在圖片加載完成之前用占位圖片代替直到加載完成”這一需求的最優方案是: ``` <img> <img src="后臺圖片.jpg"> img { display: inline-block; visibility: visible; } img[src] { visibility: hidden; } //在firefox中,img是inline,導致圖片寬高設置無效,因此手動設置為inline-block ``` ### padidng屬性 #### padding與元素尺寸 ``` .box { width: 80px; padding: 20px 60px; box-sizing: border-box; } //設置了border-box,按理說最終寬度是80px,但由于120px的padding超出了范圍,導致最終寬度是120px。因此,設置了border-box后,請保證你的border+padding+content小于等于width。 ``` *** 實現“登錄 | 注冊”效果(|的高度比文字要小): ``` <a>登錄</a><a>注冊</a> a + a:before { content: ""; font-size: 0; padding: 10px 3px 1px; (上10 右3 下1 左3) margin-left: 6px; border-left: 1px solid gray; } //如果不加font-size: 0,最終結果就是:“登錄 | 注冊”(|的高度是文字高度)。因為內聯元素高度默認由font-size控制。 a + a:before { content: ""; border-left: 1px solid gray; } //但是我們希望|的高度能夠小一些,因此將font-size設置為0,用border控制高度。在padding為0時此時border在注冊的左下方:“登錄 . 注冊”。padding-top使其向上延伸,padding-bottom使其向下延伸。 ``` padding和margin百分比值無論是水平方向還是垂直方向都是相對于寬度計算的。 平時的網頁很少只用`<button>`,而是用`<a>`來代替。但是,在表單中,有時候需要用到`<button>`自帶的交互行為,因此可以這樣: ``` <button id="btn"></button> <label for="btn">按鈕</label> button { position: absolute; clip: react(0 , 0, 0, 0); //隱藏之 } label { display: inline-block; line-height: 20px; padding: 10px; } ``` line-height就是文字加上空白加下空白的高度。可以理解為是一行文本的最終占用高度。 #### padding與圖形繪制 ``` //繪制“三” div { display: inline-block; width: 140px; height: 10px; padding: 35px 0; border-top: 10px solid; border-bototm: 10px solid; background-color: black; background-clip: content-box; } //繪制圓環(radio效果) div { display: inline-block; width: 100px; height: 100px; padding: 10px; border: 10px solid; border-radius: 50%; background-color: black; background-clip: content-box; } //內心圓是width100和height100,中間空間的padding,外圓是border。bkc默認是連padding也填充為背景色,使用bkc-clip: content-box 將背景色設置為不填充padding。 ``` ### margin屬性 #### margin與元素尺寸以及相關布局 ``` <div> <img/> <p>內容</p> </div> img { width: 100px; height: 100px; background-color: red; } p { background-color: blue; } ``` ![](https://box.kancloud.cn/c3092b90017c85b1467b4e03233a20b4_500x237.jpg) ![](https://box.kancloud.cn/3221692330b32617afc174686786b4eb_500x237.jpg) 從圖中可以看出,流式盒子會蓋住正常流盒子。 如何將最后一個元素的margin去掉?一般做法是: ``` div { margin-right: 20px; } div:nth-child(最后一個元素索引) { margin-right: 0; } ``` 可以這樣做,最簡單高效,也不用去計算最后一個元素索引: ``` .father { margin-right: -20px; } .child { margin-right: 20px; } ``` 只能使用子元素的margin-bottom來實現滾動容器的底部流白。滾動容器設置padding-bottom在有滾動條時會被忽略。 利用margin實現等高布局: ``` .box { overflow: hidden; (!!!!!!) height: 500px; } .left, .right { width: 50%; float: left; margin-bottom: -9999px; padding-bottom: 9999px; } ``` ![](https://box.kancloud.cn/8b91a930090916e8487559556682b255_500x330.jpg) #### margin合并 margin合并:只發生在塊級元素上,并且只發生在垂直方向上。 * 相鄰兄弟之間的margin合并 * 父級和第一個/最后一個元素的margin合并,以下三種設置的最終效果是相同的: ``` //1 .child { margin-top: 80px; } //2 .father { margin-top: 80px; } //3 .father, .child { margin-top: 80px; } //這下你知道為什么給第一個子元素設置margin-top后,父元素卻跟著向下移動的原因了吧。 ``` 如何阻止父子之間的margin合并? 對于margin-top合并: * 父元素overflow: hidden * 父元素設置border-top * 父元素設置padding-top * 父與第一個子之間添加一個內聯元素 對于margin-bottom合并: * 父元素overflow: hidden * 父元素設置border-bottom * 父元素設置padding-bottom * 父與最后一個子之間添加一個內聯元素 * 父元素設置height、min-height或max-height中的任意一個 以上設置滿足一個即可。 margin合并的計算規則:正正取大值(10,20->20),正負相加(-10,20->10),負負最負值(-10,-20->-20)。 #### 深入理解margin: auto margin: auto的填充規則如下: * 一側定值,一側auto,則auto為剩余大小 * 兩側均auto,平分剩余空間 * 只有一側auto,另一側沒有設置,則auto為剩余空間的全部 *** 水平垂直居中 ``` //在absolute下,對側均為0會導致容器自動填充至父級寬度(高度) .son { position: absolute; left: 0; right: 0; } ``` ``` .son { position: absolute; left: 0; right: 0; margin-left: 50px; margin-right: 50px; } //加了marginHorizontal后,內容寬度少了100px,多了水平方向100px的可填充空間,如果我們有width,就可以用marginHorizontal: auto來填充剩余空間。 ``` ``` .son { position: absolute; left: 0; right: 0; top: 0; bottom: 0; margin: auto; width: 100px; height: 100px; } //首先四方向均為0為容器爭取到了width和height均為100%的可填充空間,在設置width\height后,可填充空間就只剩下father-son了,再設置margin: auto讓son的margin占據全部剩余空間,在視覺上就是水平垂直居中了。 ``` #### margin合并的無效情況 一個普通元素,在默認流下,其定位方向是左側以及上方,此時只有margin-left和margin-top可以影響元素定位。如果改變了定位方向,如`float: right`或者`absolute, right`定位,則margin-right可以影響元素定位。 ### border屬性 border-width不支持百分比。 border與三角: ![](https://box.kancloud.cn/33720f54840e14ae1f4d398b71ee37c5_500x306.jpg) ``` div { border: 10px solid; border-color: black transparent transparent; } //效果就是一個頭向下的高度為5px的等腰直角三角形(border-top部分) ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看