CSS篇-CSS小技巧與注意手記(二)

一 : float/絕對定位/固定定位 可以讓元素默認轉換為行內塊元素

元素的大小完全取決于定義的大小或者默認的內容多少,浮動根據元素書寫的位置來顯示相應的浮動。

只給盒子一個高度

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
    div {
        height: 100px;
        background-color: pink;
    }
    </style>
</head>
<body>
    <div></div>
</body>
</html>

效果


效果

當我們添加float,絕對定位,固定定位盒子時候,默認轉化為行內塊,假如不給寬度,盒子大小與內容大小相同.

效果

二 : 清除浮動的幾種方式

其實本質叫做閉合浮動

  • 額外標簽法
    W3C推薦的做法是通過在浮動元素末尾添加一個空的標簽例如
 <div style=”clear:both”></div>

,或則其他標簽br等亦可。

  • 父級添加overflow屬性方法
可以給父級添加: overflow為 hidden|auto|scroll  都可以實現。
  • 使用after偽元素清除浮動
.clearfix:after {  content: ""; display: block; height: 0; clear: both; visibility: hidden;  }   

 .clearfix {*zoom: 1;}   /* IE6、7 專有 */
  • 使用before和after雙偽元素清除浮動
.clearfix:before,.clearfix:after { 
  content:"";
  display:table;  /* 這句話可以出發BFC BFC可以清除浮動*/
}
.clearfix:after {
 clear:both;
}
.clearfix {
  *zoom:1;
}

三 : 定位盒子居中問題

  • 盒子添加float 導致margn:auto失效

浮動是左對齊,添加后與margn:auto同時產生效果,只產生浮動效果
原效果代碼

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>test3</title>

    <style>
        div{

        background-color: pink;
        width: 200px;
        height: 200px;
        margin: 100px auto;
        }
    </style>
</head>
<body>
    <div></div>
</body>
</html>

效果


效果

添加float后代碼

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>test3</title>

    <style>
        div{

        background-color: pink;
        width: 200px;
        height: 200px;
        margin: 100px auto;
        float: left;

        }
    </style>
</head>
<body>
    <div></div>
</body>
</html>

添加后效果


效果
  • 盒子添加絕對定位 導致margn:auto失效

與上述float相同,加了position: absolute;也會使margn:auto失效

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標簽默認的外補...
    _Yfling閱讀 13,796評論 1 92
  • 學會使用CSS選擇器熟記CSS樣式和外觀屬性熟練掌握CSS各種選擇器熟練掌握CSS各種選擇器熟練掌握CSS三種顯示...
    七彩小鹿閱讀 6,334評論 2 66
  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML標準。 注意:講述HT...
    kismetajun閱讀 27,642評論 1 45
  • 1. 前言 前端圈有個“梗”:在面試時,問個css的position屬性能刷掉一半人,其中不乏工作四五年的同學。在...
    YjWorld閱讀 4,528評論 5 15
  • 深夜的網易云,一定會有很多悲傷的評論刷新在每首歌的下面。孤獨的人也會去每首歌下面看評論里的酸甜苦辣,我于深夜想起他...
    月牙柒柒閱讀 320評論 0 0