css浮動與定位

1.浮動元素有什么特征扼鞋?對父容器申鱼、其他浮動元素、普通元素云头、文字分別有什么影響?

  • 浮動模型也是一種可視化格式模型捐友,浮動的框可以左右移動(根據(jù)float屬性值而定),直到它的外邊緣碰到包含框或者另一個浮動元素的框的邊緣溃槐。浮動元素不在文檔的普通流中匣砖,文檔的普通流中的元素表現(xiàn)的就像浮動元素不存在一樣.
  • 對于父元素,若其子元素都是浮動元素昏滴,則其失去高度猴鲫,視覺上在子元素外面,不包含谣殊。
1.png
  • 對于其它浮動元素的影響,如果包含塊太窄無法容納水平排列的全部浮動元素拂共,那么其它浮動元素會向下移動,直到有足夠的空間姻几,而如果浮動元素的高度不同宜狐,那么向下移動的時候可能會被卡住。
2.png
  • 普通元素會視浮動元素不見蛇捌,占據(jù)浮動元素原有的位置抚恒,但會被浮動元素遮罩。
3.png
  • 文字會感知到浮動元素的存在络拌,會留出空間俭驮,形成環(huán)繞效果。
4.png

2.清除浮動指什么? 如何清除浮動? 兩種以上方法

  • 清除浮動指解決浮動父容器高度塌陷問題
  • 在父元素的子元素最后添加一個空div春贸,并對其設(shè)置樣式:clear:both;
5.png
  • 利用BFC來清除浮動混萝。
    因為BFC可以包含浮動,因此可以讓父元素生成一個新的BFC從而包圍浮動的子元素,可以對父元素設(shè)定以下樣式之一生成新BFC祥诽。
    float: left | right;
    overflow: hidden | auto | scroll;
    display: table-cell | table-caption | inline-block;
    position: absolute | fixed;
6.png
  • 通用方法
  .clearfix:after{
      content:"";
      display:block;
      clear:both;
  }

3.有幾種定位方式譬圣,分別是如何實現(xiàn)定位的,參考點是什么雄坪,使用場景是什么厘熟?

  • inherit 規(guī)定從父元素繼承 position 屬性的值
  • static 默認(rèn)值,沒有定位屯蹦,元素出現(xiàn)在正常的流中(忽略 top, bottom, left, right 或者 z-index 聲明)
  • relative 相對定位,元素的位置通過 left, top, right 以及 bottom 屬性進行規(guī)定 相對于元素本身正常位置進行定位 一般作為絕對定位的元素參考點


    8.png
  • absolute 絕對定位绳姨,元素的位置通過 left, top, right 以及 bottom 屬性進行規(guī)定 相對于static定位以外的第一個祖先元素(offset parent)進行定位如果元素沒有已定位的祖先元素登澜,那么他的位置就相對于初始包含塊html來定位demo。適用于元素的水平垂直居中
9.png
  • fixed 絕對定位飘庄,元素的位置通過 left, top, right 以及 bottom 屬性進行規(guī)定 相對于瀏覽器窗口進行定位脑蠕,不隨滾動條的滾動而移動 ;適用于飄窗跪削、固定導(dǎo)航等
10.png
  • sticky CSS3新屬性谴仙,表現(xiàn)類似position:relative和position:fixed的合體,在目標(biāo)區(qū)域在屏幕中可見時碾盐,它的行為就像position:relative; 而當(dāng)頁面滾動超出目標(biāo)區(qū)域時晃跺,它的表現(xiàn)就像position:fixed,它會固定在目標(biāo)位置

4.z-index 有什么作用? 如何使用?

因為絕對定位的元素脫離了普通流毫玖,所以絕對定位的元素可以覆蓋頁面上的其它元素掀虎。這時可以通過給元素設(shè)置z-index屬性來控制疊放順序,默認(rèn)值為auto,則不建立層疊上下文。設(shè)置為0則會建立層疊上下文


11.png
image.png
image.png

5.position:relative和負margin都可以使元素位置發(fā)生偏移?二者有什么區(qū)別

  • position:relative付枫,元素顯示位置發(fā)生變化烹玉,但是元素在文檔流中的位置不變,不影響后面元素在文檔流中的布局阐滩。
  • 負margin二打,元素的顯示位置和在文檔流中的位置均發(fā)生變化,會影響后面元素在文檔流中的位置

6.BFC 是什么叶眉?如何生成 BFC址儒?BFC 有什么作用?舉例說明

  • BFC是塊級格式上下文
  • 對元素設(shè)置以下屬性
    float: left | right;
    overflow: hidden | auto | scroll;
    display: table-cell | table-caption | inline-block;
    position: absolute | fixed;
  • 解決margin重疊問題衅疙。所謂margin重疊是指處于同一個BFC的相鄰元素、嵌套元素鸳慈,只要它們之間沒有阻擋(如:邊框饱溢、非空內(nèi)容、padding等)就會發(fā)生margin重疊走芋。這是只要讓其中一個元素生成新的BFC就能解決margin重疊問題绩郎。
12.png
13.png

清除浮動。因為BFC可以包含浮動翁逞,所以讓父容器生成新的BFC可以讓父容器在視覺上包圍了浮動的子元素肋杖,因而清除了浮動

image.png

7.在什么場景下會出現(xiàn)外邊距合并?如何合并挖函?如何不讓相鄰元素外邊距合并状植?給個父子外邊距合并的范例

  • 兩個兄弟元素在垂直方向上合并外邊距,取較大值進行合并
14.png
  • 父子元素間沒有阻擋(如:邊框、非空內(nèi)容津畸、padding等)時發(fā)生上和/或下外邊距合并
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>JS Bin</title>
  <style>
    .box{
  width: 200px;
  height: 200px;
  background-color: gray;
  margin: 20px;
}
.box1{
  width: 100px;
  height: 100px;
  background-color: red;
  margin:40px;
}
  </style>
</head>
<body>
<div class="box">
  <div class="box1">
    
  </div>
</div>
</body>
</html>

效果圖

image.png
  • 當(dāng) margin 都是負值的時候振定,取的是其中絕對值較大的,然后肉拓,從0位置后频,負向位移,當(dāng)有正有負的時候暖途,先取出負 margin 中絕對值中最大的卑惜,然后,和正 margin 值中最大的 margin 相加驻售。
  • 如果存在一個空的塊級元素残揉,其 border、padding芋浮、inline content抱环、height、min-height都不存在纸巷。那么此時它的上下邊距中間將沒有任何阻隔镇草,此時它的上下外邊距將會合并.
  • 對于相鄰元素,讓他們不在同一個BFC瘤旨,外邊距就不會合并梯啤。

代碼練習(xí)

  1. 實現(xiàn)如下alert效果,效果范例
    代碼如下:http://js.jirengu.com/fijam/5/edit
  2. 實現(xiàn)如下表單效果存哲, 效果范例
    代碼如下:http://js.jirengu.com/xaga/2/edit
  3. 實現(xiàn)如下模態(tài)框效果因宇, 效果范例
    代碼如下:http://js.jirengu.com/deni/1/edit?html,css
  4. 實現(xiàn)如下導(dǎo)航欄效果,效果范例
    代碼如下:http://js.jirengu.com/xaba/1/edit?html,css,output
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末祟偷,一起剝皮案震驚了整個濱河市察滑,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌修肠,老刑警劉巖贺辰,帶你破解...
    沈念sama閱讀 216,402評論 6 499
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異嵌施,居然都是意外死亡饲化,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,377評論 3 392
  • 文/潘曉璐 我一進店門吗伤,熙熙樓的掌柜王于貴愁眉苦臉地迎上來吃靠,“玉大人,你說我怎么就攤上這事足淆〕部椋” “怎么了礁阁?”我有些...
    開封第一講書人閱讀 162,483評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長夕冲。 經(jīng)常有香客問我氮兵,道長,這世上最難降的妖魔是什么歹鱼? 我笑而不...
    開封第一講書人閱讀 58,165評論 1 292
  • 正文 為了忘掉前任泣栈,我火速辦了婚禮,結(jié)果婚禮上弥姻,老公的妹妹穿的比我還像新娘南片。我一直安慰自己,他們只是感情好庭敦,可當(dāng)我...
    茶點故事閱讀 67,176評論 6 388
  • 文/花漫 我一把揭開白布疼进。 她就那樣靜靜地躺著,像睡著了一般秧廉。 火紅的嫁衣襯著肌膚如雪伞广。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,146評論 1 297
  • 那天疼电,我揣著相機與錄音嚼锄,去河邊找鬼。 笑死蔽豺,一個胖子當(dāng)著我的面吹牛区丑,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播修陡,決...
    沈念sama閱讀 40,032評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼沧侥,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了魄鸦?” 一聲冷哼從身側(cè)響起宴杀,我...
    開封第一講書人閱讀 38,896評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎号杏,沒想到半個月后婴氮,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,311評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡盾致,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,536評論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了荣暮。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片庭惜。...
    茶點故事閱讀 39,696評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖穗酥,靈堂內(nèi)的尸體忽然破棺而出护赊,到底是詐尸還是另有隱情惠遏,我是刑警寧澤,帶...
    沈念sama閱讀 35,413評論 5 343
  • 正文 年R本政府宣布骏啰,位于F島的核電站节吮,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏判耕。R本人自食惡果不足惜透绩,卻給世界環(huán)境...
    茶點故事閱讀 41,008評論 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望壁熄。 院中可真熱鬧帚豪,春花似錦、人聲如沸草丧。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽昌执。三九已至烛亦,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間懂拾,已是汗流浹背煤禽。 一陣腳步聲響...
    開封第一講書人閱讀 32,815評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留委粉,地道東北人呜师。 一個月前我還...
    沈念sama閱讀 47,698評論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像贾节,于是被迫代替她去往敵國和親汁汗。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,592評論 2 353

推薦閱讀更多精彩內(nèi)容

  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案栗涂? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標(biāo)簽?zāi)J(rèn)的外補...
    _Yfling閱讀 13,748評論 1 92
  • 1.浮動元素有什么特征知牌?對父容器、其他浮動元素斤程、普通元素角寸、文字分別有什么影響? 答:浮動模型也是一種可視化格式模型...
    饑人谷_牛牛閱讀 389評論 0 0
  • 問答 1. 浮動元素有什么特征?對父容器忿墅、其他浮動元素扁藕、普通元素、文字分別有什么影響? 浮動元素有什么特征floa...
    cheneyzhangch閱讀 310評論 0 0
  • 浮動元素有什么特征疚脐?對父容器亿柑、其他浮動元素、普通元素棍弄、文字分別有什么影響? 4.對普通元素:普通元素將不能感知到浮...
    l_meng閱讀 307評論 0 0
  • 浮動元素有什么特征望薄?對父容器疟游、其他浮動元素、普通元素痕支、文字分別有什么影響? 浮動元素脫離了普通文檔流颁虐,文檔的普通流...
    Zzzoecho閱讀 231評論 0 0