CSS浮動和清除浮動


1.浮動float

  div配合float浮動來做頁面的布局,浮動最常用的地方就是用來做布局。只有一個標簽設置了浮動float屬性,就會變成塊級標簽。

 

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <title>10float頁面布局示例</title>

    <style>

        * {
            margin: 0px;
            padding: 0px;
        }

        .c1 {
            height: 1000px;
            width: 20%;
            background-color: darkslategrey;
            float: left;    /* 使用浮動屬性,將div1和div2兩個塊級標簽橫向推擠在一起。如果兩個標簽能夠擺在一排,就會浮動到一起  */
        }

        .c2 {
            height: 1000px;
            width: 80%;
            background-color: black;
            float: left;
        }

    </style>
</head>
<body>

<!-- 設置一個div占用屏幕左側的百分20,一個div占屏幕右側的百分之80 -->
<div class="c1"></div>
<div class="c2"></div>

</body>
</html>

 

 

2.清除浮動clear屬性

 (1)利用偽元素具有clear清除浮動的屬性來解決父標簽塌陷的問題(父標簽撐不起來的問題)

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <title>11清除浮動示例</title>

    <style>
        /* 通用樣式將整個瀏覽器的外邊距與內邊距設置為0 */
        * {
            margin: 0;
            padding: 0;
        }

        #d1 {
            border: 1px solid black;
        }

        .c1,
        .c2 {
            float: left;    /* 左浮動 */
            height: 100px;
        }

        /*.c3 {*/
            /*!*height: 100px;*!*/
            /*clear: left;*/
        /*}*/

        /* 在d1這個標簽的最后加一個偽元素,偽元素的內容為空,但具有清除浮動的屬性,解決了父標簽塌陷問題*/
        #d1:after {
            content: "";
            clear: left;
            display: block;
        }
    </style>

</head>
<body>

<div id="d1">
    <div class="c1">c1</div>
    <div class="c2">c2</div>
</div>

</body>
</html>

 

 

3.overflow溢出屬性

 

 

(1)利用overflow溢出屬性做圓形頭像的例子

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <title>12overflow示例</title>
    <style>
        .c1 {
            width: 120px;
            height: 120px;
            border: 1px solid black;
            /*overflow: scroll;   !* 當內容溢出時,則會使用滾動條,防止內容溢出 *!*/
            overflow: auto;     /* 同樣是增加了滾動條來防止溢出*/
        }
        /* 使頭像變成圓形的例子 */
        .header-img {
            width: 120px;
            height: 120px;
            border: 2px solid #FF0000;
            border-radius: 100%;    /* 圓形邊框 */
            overflow: hidden;   /* 如果內容溢出了則隱藏掉溢出的部分 */
        }

        img {
            max-width: 100%;    /* 設置圖片的最大寬度為100%,也就是和父標簽一樣大 */
        }
    </style>

</head>
<body>
<!-- 由於文本內容過多,文本內容超過了父標簽的長和高,則發生內容了溢出 -->
<div class="c1">海燕啊,你可長點心吧燕啊,你可長點心吧。燕啊,你可長點心吧。燕啊,你可長點心吧。燕啊,你可長點心吧。。</div>

<!-- 利用overflow溢出的屬性來完成圓形的頭像,設置好了父標簽的大小,在父標簽里用一個字標簽設置圖片,子標簽的圖片比父標簽大的話,則利用子標簽的max-width: 100%來解決,圓形利用父標簽的溢出屬性解決 -->
<div class="header-img">
    <img src="huluwa.png" alt="">
</div>
</body>
</html>

 

4.清除浮動示例

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <title>float下午版</title>
    <style>
        #d1 {
           border: 1px solid black;
        }

        .c1 {
            height: 50px;
            width: 50px;
            background-color: blue;
            border: 1px solid red;
            float: left; /* 增加左浮動屬性 */
        }

        /* 清除浮動的副作用,高度不會跑了 */
        /*.c2 {*/
            /*background-color: darkslategrey;*/
            /*clear: left;  !* 清除左浮動,有了這句話就可以讓d1標簽撐起來了,左邊不能有浮動的元素 *!*/
        /*}*/

        /* 另外一種清除浮動副作用的方法 */
        /*#d1:after {*/
            /*content: '';*/
            /*clear: both;*/
            /*display: block;*/
        /*}*/

        /* 使用類樣式進行清除浮動,之后只要需要清除浮動,標簽都可以使用這個樣式 */
        .clearfix:after {
            content: '';
            clear: both;
            display: block;
        }

    </style>
</head>
<body>

<div id="d1" class="clearfix">
    <div class="c1"></div> <!-- c1的浮動屬性會導致d1這個父標簽的高度撐不起來 -->
    <div class="c1"></div>
    <div class="c1"></div>
    <div class="c1"></div>
    <div class="c2"></div>
</div>

<div class="c3">我是解葯</div>

</body>
</html>

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM