浮動(dòng)定位BFC邊距合并2

浮動(dòng)元素有什么特征谭确?對(duì)父容器宽档、其他浮動(dòng)元素、普通元素并级、文字分別有什么影響?

浮動(dòng)元素脫離正常的文檔流拂檩,被安放到它所在容器的的左端或者右端,并且文檔流中的普通元素察覺不到浮動(dòng)元素嘲碧。其他的文本和行內(nèi)元素可以覺察到稻励。
對(duì)父容器:如果父容器中的元素都是浮動(dòng)元素,父容器沒有設(shè)置 height 值的時(shí)候愈涩,會(huì)造成父容器高度塌陷望抽。
其他浮動(dòng)元素:同一父容器內(nèi)的浮動(dòng)元素按照設(shè)定的方向并排排列加矛,當(dāng)父元素的寬度不夠時(shí),后面的元素會(huì)向下移動(dòng)煤篙,直到有足夠的空間斟览;如果浮動(dòng)元素的高度不同,那么有可能擋住移動(dòng)的路徑舰蟆。
普通元素:無法辨別普通元素趣惠,有可能導(dǎo)致覆蓋其它普通元素。
文本:文本能夠識(shí)別浮動(dòng)元素身害,會(huì)圍繞浮動(dòng)元素味悄。

清除浮動(dòng)指什么? 如何清除浮動(dòng)? 兩種以上方法

清除浮動(dòng)是要清除浮動(dòng)元素造成的父容器塌陷等問題。如何清除浮動(dòng):
在要清除的浮動(dòng)元素下添加一個(gè)空div塌鸯。將空的div的style設(shè)成clear:both;
或者用CSS建一個(gè)空div侍瑟,這樣可以保證html的語義性。
.clearfix{ *zoom:1; //ie 6 和 7 用這個(gè)清除浮動(dòng)丙猬。}.clearfix:after{ content:""; display:block; // 或者 display: table; clear:left;}

用BFC的性質(zhì)清除浮動(dòng)涨颜。BFC其中一個(gè)性質(zhì)是BFC可以包含浮動(dòng)。我們就利用這個(gè)性質(zhì)來清除浮動(dòng)茧球。將包含浮動(dòng)元素的父元素形成新的BFC庭瑰,就可以達(dá)到清楚浮動(dòng)的效果。比如將父元素設(shè)為:overflow: hidden
或者display: inline-block
等形成新的BFC的方法抢埋。但是利用BFC清除浮動(dòng)有它的局限性弹灭。比如使用float的時(shí)候會(huì)使父容器長度縮短,overflow屬性會(huì)影響滾動(dòng)條和絕對(duì)定位的元素揪垄,position會(huì)改變?cè)氐亩ㄎ环绞角钏保砸Y(jié)合當(dāng)時(shí)的條件合理選擇清除浮動(dòng)的方法。

有幾種定位方式饥努,分別是如何實(shí)現(xiàn)定位的捡鱼,參考點(diǎn)是什么,使用場景是什么酷愧?

常見的定位方式有:
position: static;
或者不設(shè)置position值驾诈。這是定位的默認(rèn)值。元素出現(xiàn)在正常的文檔流中溶浴。(top翘鸭, bottom,left戳葵,right,z-index幾個(gè)屬性設(shè)置都不會(huì)發(fā)生作用汉匙。)
position: relative;
相對(duì)于元素本身在文檔流中的正常位置進(jìn)行定位拱烁。用于進(jìn)行自身的位置的局部調(diào)整或者用于子元素需要絕對(duì)定位的時(shí)候的參考點(diǎn)生蚁。
position: absolute;
生成絕對(duì)定位的元素,該元素脫離文檔流戏自。相對(duì)于static定位以外的第一個(gè)祖先元素(offset parent)的內(nèi)邊框進(jìn)行定位(top 和 left 的值為0時(shí)邦投,絕對(duì)定位在內(nèi)邊框。top 和 left 值不設(shè)或者為 auto擅笔,絕對(duì)定位元素在原本文檔流該在的位置)志衣。如果找不到非默認(rèn)定位的祖先。就以html的根節(jié)點(diǎn)(<html>
)當(dāng)作參考點(diǎn)進(jìn)行偏移猛们。http://js.jirengu.com/vapedijaxe/1/edit
position: fixed;
特殊的絕對(duì)定位念脯。相對(duì)于瀏覽器的窗口進(jìn)行定位。元素不會(huì)隨著頁面滾動(dòng)而發(fā)生滾動(dòng)弯淘,因?yàn)槭窍鄬?duì)于窗口進(jìn)行定位绿店,窗口是不會(huì)動(dòng)的。
position: sticky;
CSS3的新屬性庐橙。當(dāng)頁面滾動(dòng)時(shí)會(huì)隨著頁面發(fā)生滾動(dòng)假勿。但是當(dāng)觸到屏幕的頂部,元素會(huì)固定下來态鳖。當(dāng)滾動(dòng)下來转培,元素又會(huì)跟著下來。類似position: relative;
和position: fixed;
的合體浆竭。兼容性很差浸须,一般不用CSS來做這種效果。

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

z-index 屬性指定一個(gè)元素的堆疊順序兆蕉,用于絕對(duì)定位的元素中羽戒。因?yàn)榻^對(duì)定位的元素脫離了文檔流,所以絕對(duì)定位的元素可以覆蓋頁面上的其它元素虎韵。這時(shí)可以通過給元素設(shè)置z-index屬性來控制疊放順序易稠,擁有更高堆疊順序的元素總是會(huì)處于堆疊順序較低的元素的前面。用 z-index: number; 進(jìn)行設(shè)定包蓝。number的值越大驶社,位于越靠上。
position:relative和負(fù)margin都可以使元素位置發(fā)生偏移?二者有什么區(qū)別
position:relative;
只相對(duì)自己原本位置發(fā)生偏移测萎,不影響其它文檔流中其他元素的位置亡电。margin:除了讓元素自身發(fā)生偏移還影響其它文檔流中的元素。http://js.jirengu.com/zemikeseci/1/edit?html,css,output
BFC 是什么硅瞧?如何生成 BFC份乒? BFC 有什么作用?舉例說明
BFC是 Block formatting contexts (塊格式化上下文) 的縮寫。
浮動(dòng)或辖,絕對(duì)定位瘾英,不是塊級(jí)元素的塊容器(比如 inline-blocks,table-cells 和 table-captions)颂暇,'overfolw'屬性不是'visible'的塊級(jí)元素會(huì)形成一個(gè)新的BFC缺谴。
BFC會(huì)阻止垂直外邊距(margin-top、margin-bottom)折疊耳鸯,所以可以用來解決外邊距合并的問題湿蛔。對(duì)于嵌套元素的外邊距合并,只要把父元素設(shè)為BFC就可以了县爬。這樣子元素的margin就不會(huì)和父元素的margin發(fā)生重疊阳啥。
BFC包含浮動(dòng)。我們利用這個(gè)性質(zhì)來清除浮動(dòng)捌省。將包含浮動(dòng)元素的父元素形成新的BFC苫纤,就可以達(dá)到清楚浮動(dòng)的效果。比如將父元素設(shè)為:overflow: hidden
或者display: inline-block
等形成新的BFC的方法纲缓。

在什么場景下會(huì)出現(xiàn)外邊距合并卷拘?如何合并?如何不讓相鄰元素外邊距合并祝高?給個(gè)父子外邊距合并的范例

當(dāng)兩個(gè)相鄰元素處于同一個(gè)BFC中會(huì)發(fā)生垂直外邊距合并栗弟。
兩個(gè)相鄰的外邊距都是正數(shù)時(shí),折疊結(jié)果是它們兩個(gè)之間較大的值工闺。
兩個(gè)相鄰的外邊距都是負(fù)數(shù)時(shí)乍赫,折疊結(jié)果是兩個(gè)絕對(duì)值的較大值。
兩個(gè)外邊距是一正一負(fù)時(shí)陆蟆,折 疊結(jié)果是兩者的相加的和雷厂。

避免外邊距合并的方法有:
父元素加上 padding 或 border
將父元素變成一個(gè)新的BFC。例如:給父元素設(shè)置overflow: hidden;
或float: left;

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末叠殷,一起剝皮案震驚了整個(gè)濱河市改鲫,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌林束,老刑警劉巖像棘,帶你破解...
    沈念sama閱讀 218,451評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異壶冒,居然都是意外死亡缕题,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,172評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門胖腾,熙熙樓的掌柜王于貴愁眉苦臉地迎上來烟零,“玉大人瘪松,你說我怎么就攤上這事∑堪冢” “怎么了凉逛?”我有些...
    開封第一講書人閱讀 164,782評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長群井。 經(jīng)常有香客問我,道長毫胜,這世上最難降的妖魔是什么书斜? 我笑而不...
    開封第一講書人閱讀 58,709評(píng)論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮酵使,結(jié)果婚禮上荐吉,老公的妹妹穿的比我還像新娘。我一直安慰自己口渔,他們只是感情好样屠,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,733評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著缺脉,像睡著了一般痪欲。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上攻礼,一...
    開封第一講書人閱讀 51,578評(píng)論 1 305
  • 那天业踢,我揣著相機(jī)與錄音,去河邊找鬼礁扮。 笑死知举,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的太伊。 我是一名探鬼主播雇锡,決...
    沈念sama閱讀 40,320評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼僚焦!你這毒婦竟也來了锰提?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,241評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤叠赐,失蹤者是張志新(化名)和其女友劉穎欲账,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體芭概,經(jīng)...
    沈念sama閱讀 45,686評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡赛不,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,878評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了罢洲。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片踢故。...
    茶點(diǎn)故事閱讀 39,992評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡文黎,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出殿较,到底是詐尸還是另有隱情耸峭,我是刑警寧澤,帶...
    沈念sama閱讀 35,715評(píng)論 5 346
  • 正文 年R本政府宣布淋纲,位于F島的核電站劳闹,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏洽瞬。R本人自食惡果不足惜本涕,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,336評(píng)論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望伙窃。 院中可真熱鬧菩颖,春花似錦、人聲如沸为障。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,912評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽鳍怨。三九已至呻右,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間京景,已是汗流浹背窿冯。 一陣腳步聲響...
    開封第一講書人閱讀 33,040評(píng)論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留确徙,地道東北人醒串。 一個(gè)月前我還...
    沈念sama閱讀 48,173評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像鄙皇,于是被迫代替她去往敵國和親芜赌。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,947評(píng)論 2 355

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

  • 一伴逸,浮動(dòng)元素有什么特征缠沈?對(duì)父容器、其他浮動(dòng)元素错蝴、普通元素洲愤、文字分別有什么影響? 浮動(dòng)模型是一種可視化格式模型,浮動(dòng)...
    DeeJay_Y閱讀 874評(píng)論 0 4
  • relative:生成相對(duì)定位的元素顷锰,通過top,bottom,left,right的位置相對(duì)于其正常位置進(jìn)行定位...
    zx9426閱讀 943評(píng)論 0 2
  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案柬赐? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標(biāo)簽?zāi)J(rèn)的外補(bǔ)...
    _Yfling閱讀 13,754評(píng)論 1 92
  • 1. 浮動(dòng)元素有什么特征?對(duì)父容器酝陈、其他浮動(dòng)元素床玻、普通元素、文字分別有什么影響? 浮動(dòng)元素的特征:CSS設(shè)計(jì)flo...
    饑人谷_邵征鵬閱讀 546評(píng)論 0 0
  • 1.浮動(dòng)元素有什么特征沉帮?對(duì)父容器锈死、其他浮動(dòng)元素、普通元素遇西、文字分別有什么影響? 特征:浮動(dòng)元素脫離普通文檔流馅精,普通...
    山門龍龍閱讀 294評(píng)論 0 2