国产精品爱久久久久久久小说,女人扒开腿让男人桶到爽 ,亚洲欧美国产双大乳头,国产成人精品综合久久久久,国产精品制服丝袜无码,免费无码精品黄av电影,黑色丝袜无码中中文字幕,乱熟女高潮一区二区在线

            【HTML&&CSS】CSS解決高度塌陷問題&&實現簡單的導航效果

            2020-3-5    seo達人

            下面這段代碼是實現簡單的導航效果:



            在這里插入代碼片<!DOCTYPE html>

            <html>

            <head>

            <meta charset="utf-8">

            <title></title>

            <style>

            *{

               margin:0px;

               padding:0px;

               list-style:none;

            }

            .nav{

            width:700px;

            margin:100px auto;



            }



            .nav ul li{

            float:left;

            margin-right:5px;

            }



            .nav ul li a{



            width:100px;

            height:30px;

            color:#fff;

            display:block;

            line-height:30px;

            margin-right:5px;

            text-decoration:none;

            background:red;

            text-align:center;



            }

            .clearfix:after {

            content: ".";

            display: block;

            height: 0;

            clear: both;

            visibility: hidden;

            }

            .nav ul li a:hover{

            background:yellow;

            color:blue;

            text-decoration:underline;

            }



            </style>

            </head>

            <body>

            <div class="nav">

            <ul class="clearfix">

            <li><a href="#">導航</a></li>

            <li><a href="#">導航</a></li>

            <li><a href="#">導航</a></li>

            <li><a href="#">導航</a></li>

            <li><a href="#">導航</a></li>

            </ul>

            </div>

            </body>

            </html>





            實現效果如圖:

            容易犯錯的地方:剛開始我把display:block;屬性寫在最前面,結果一直出不來,后來發現display屬性應該放在height和width屬性后面



            我還學到一個知識點:關于父元素塌陷問題:



            在文檔流中,父元素的高度默認是被子元素撐開的,也就是說父元素多高,子元素就多高



            但是為子元素設置浮動以后,子元素就會完全脫離文檔流,此時將會導致子元素無法撐起父元素的高度,導致父元素的高度塌陷



            由于父元素的高速塌陷了,則父元素下所有的元素都會向上移動,這樣會導致頁面布局混亂



              所以我們在開發中一定要避免出席那高度塌陷的問題,這時候我們可以將父元素的高度寫死,這樣可避免塌陷的問題出現,但是一當高度寫死,父元素的高度將不能自動適應子元素的高度,所以這種方式是不推薦使用的

            1

            解決的方案:

            根據W3C標準,在頁面中元素有一個隱含的屬性叫做Block Formatting Context



            方案一:*(設置zoom為1和overflow為hidden)

            當開啟元素的BFC后,元素會有以下特性:



            父元素的垂直外邊距不會和子元素重疊

            開啟BFC的元素不會被浮動元素所覆蓋

            開啟BFC的元素可以包含浮動的子元素

            那如何開啟元素的BFC呢?



            設置元素浮動

            設置元素的絕對定位

            設置元素為inline-block(但是設置inline-block可以解決問題,但是會導致寬度丟失,所以不推薦使用這種方式)

            將元素的overflow設置為一個非visible的值(推薦方式:將overflow:hidden這個是副作用最小的開啟BFC方式,所以可以這么說,以后若是再塌陷,就給父元素加上overflow:hidden屬性)

            但需要注意的是:



            在IE6以及以下的瀏覽器中并不支持BFC,所以使用這種方式并不能兼容IE6,在IE6中雖然沒有BFC,但有另一個隱藏屬性叫做hasLayout該屬性作用和和BFC類似。但在IE6瀏覽器可以通過開hasLayout來解決問題

            開啟方式很多,我們可以直接用一種副作用最小的直接將元素的zoom設置為1,比如父元素是box1,我們可以在父元素中加上zoom:1;



            在這里解釋一下zoom表示放大的意思,后邊跟著一個數值,寫幾就可以將元素放大幾倍,所以zoom:1表示不放大元素,但是可以通過該樣式可以開啟hasLayout.

            但需要注意的是zoom屬性放IE6可以,別的瀏覽器比如Chrome就不行



            ****所以重頭戲來了:若我們想要兼容所有瀏覽器?


            1. 設置:zoom:1;
            2. 設置overflow:hidden;



              兩者缺一不可(zoom這個樣式,只在IE中支持)

              1

              方案二:(添加一個空白的div,參考下面的box3)

              我們可以直接在高度塌陷的父元素的最后,添加一個空白的div,由于這個div并沒有浮動,所以它是可以撐開父元素高度的,然后再對其清除浮動,這樣可以通過這個空白的div撐開父元素的高度,基本沒有副作用

              例如:

              *



              <style>

               .box1{border:1px solid red;}

               .box2{

               width:100px;

               hejght:100px;

               background-color:blue;

               }

               .box3{clesr:both;}/
              清除兩端浮動對當前元素的影響/

               

              body里面是:

              <div class="box1">

                  <div class="box2"></div>

                       <div class="box3"></div>

                </div>

                (這里面box3是我們自己添加用來解決高度塌陷問題的)



              但使用這種方法雖然可以解決問題,但會在頁面中產生多余的結構,所以此時方法三就出來了,這種方法我們最推薦,因為他沒有副作用



              方法三:(通過after偽類)

              我們先來看一段代碼:



              <style>

              .clearfix:after{

                                 content:" ";/
              添加一個內容*/

                                 display:block;

                                 clear:both;

                                 

              }

              </style>

              <body>

              <div class="box1 clearfix">

              <div class="box2"></div>

              </div>

              </body>



              我來總結一下方法三:

              我們可以通過after偽類向元素的最后添加一個空的塊元素,然后對其清楚浮動,這樣做和添加一個div原理一樣,可以達到一個相同的效果,而且不會在頁面中添加多余的div,這是我們最推薦使用的方式,幾乎沒有任何副作用




            日歷

            鏈接

            個人資料

            藍藍設計的小編 http://www.dzxscac.cn

            存檔

            主站蜘蛛池模板: a级片免费观看| 永久免费观看黄网视频| 天天操操操操| 日韩精品极品视频在线观看免费| 大伊香蕉精品视频在线直播| 九九免费精品视频| 天堂在线www天堂中文在线| 激情国产一区二区三区四区 | 亚洲精品第一区二区三区| 国产白丝喷水娇喘视频| 天天天天天干| 91高清视频| 亚洲中文字幕日产无码成人片| 亚洲精品久久片久久久久| av片在线播放| 91日日剧网| 亚洲 自拍 色综合图区av网站| 国产福利小视频在线观看| 欧美裸体xxxx极品| 国产清纯在线一区二区vr| aa免费视频| 国产精品午夜福利| 国产成人一区二区不卡| www.亚洲国产| 欧美三级a做爰在线观看| 亚洲孰妇无码av在线播放| 中文永久免费观看| 亚洲欧美日韩愉拍自拍| 久久伊人精品青青草原vr| 亚洲在线不卡| 人妻av无码系列一区二区三区| 亚洲 日韩 另类 天天更新| 自拍偷拍福利视频| 色视频不卡一区二区三区| 99精品产国品一二三产区| 国产精品海角社区| 国产啪视频| 久久无码人妻一区二区三区| 欧美黑人性暴力猛交高清| 日日日日日日| 欧美精欧美乱码一二三四区|