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

  1. 浮動(dòng)元素有什么特征椎咧?對(duì)父容器玖详、其他浮動(dòng)元素把介、普通元素、文字分別有什么影響?

浮動(dòng)元素脫離文檔流蟋座,會(huì)隨著float屬性值的設(shè)定向左或向右移動(dòng)拗踢,直到它的邊緣碰到它的包含框或浮動(dòng)元素的邊緣,普通文檔流會(huì)視浮動(dòng)元素不存在

  • 對(duì)父容器, 如果子元素都是浮動(dòng)元素, 父元素的高度無法撐開, 導(dǎo)致父容器高度塌陷.
  • 對(duì)其他浮動(dòng)元素, 浮動(dòng)元素邊緣接觸到其他浮動(dòng)元素就會(huì)停止移動(dòng), 如果包含塊太窄向臀,無法完全水平容納浮動(dòng)元素巢墅,那么其他浮動(dòng)元素就會(huì)向下移動(dòng),直到有足夠空間券膀。如果浮動(dòng)元素高度不同君纫,那么向下移動(dòng)時(shí)可能會(huì)被卡住.
  • 對(duì)普通元素, 會(huì)視浮動(dòng)元素不存在; 如果寬高合適, 普通元素會(huì)占據(jù)原來浮動(dòng)元素占據(jù)的空間, 造成布局變動(dòng); 浮動(dòng)元素可以覆蓋普通元素.
  • 對(duì)文字, 文本內(nèi)容感知浮動(dòng)元素的存在, 造成文字會(huì)環(huán)繞在浮動(dòng)元素周圍.
  1. 清除浮動(dòng)指什么? 如何清除浮動(dòng)? 兩種以上方法
    由于父元素認(rèn)為其內(nèi)的浮動(dòng)的子元素是不存在的, 所以會(huì)父元素邊框無法撐開的問題, 清楚浮動(dòng)解決浮動(dòng)父容器高度塌陷問題;

方法一:

<div style="clear: both;"></div>

方法二:
利用BFC內(nèi)的浮動(dòng)子元素參與計(jì)算高度的特性.

.parent {
overflow: hidden;
}

方法三;
通用方法, 其實(shí)同方法一

.parent:after {
content: "";
display: block;
clear: both;
}

  1. 有幾種定位方式,分別是如何實(shí)現(xiàn)定位的芹彬,參考點(diǎn)是什么蓄髓,使用場(chǎng)景是什么?
    position總的來說有兩類分類: 相對(duì)定位和絕對(duì)定位
    取值可以有: static | relative | absolute | fixed | sticky

static

  • 是根據(jù)正常的文檔流定位的
  • 是默認(rèn)的屬性值.

relative

  • 是根據(jù)正常的文檔流定位
  • 相對(duì)于本身的位置進(jìn)行偏離
  • 不影響其他元素, 本身在頁面布局中的位置仍然存在
  • 形成了重疊上下文, z-index有效

absolute

  • 不在正常的文檔流中
  • 在頁面布局中不占據(jù)位置
  • 相對(duì)于離它最近的設(shè)置了postion 不是static的祖先的定位; 如果不存在這樣的祖先, 就是相對(duì)于<body>的定位.

fixed

  • 不在正常的文檔流中
  • 在頁面布局中不占據(jù)位置
  • 相對(duì)于視窗(viewport, 即<html>)來定位
  • 視窗滾動(dòng)時(shí), 位置并不會(huì)移動(dòng)
  • 可以用來做在滾動(dòng)條滾動(dòng)時(shí)固定不變的部分

sticky

  • 結(jié)合了 position:relative 和 position:fixed 兩種定位功能于一體的特殊定位
  • 元素定位表現(xiàn)為在跨越特定閾值前為相對(duì)定位舒帮,之后為固定定位
  • 兼容性較差

參考了css position mdn, 博客

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

z-index是針對(duì)網(wǎng)頁顯示中的一個(gè)特殊屬性会喝。因?yàn)轱@示器是顯示的圖案是一個(gè)二維平面,擁有x軸和y軸來表示位置屬性玩郊。為了表示三維立體的概念如顯示元素的上下層的疊加順序引入了z-index屬性來表示z軸的區(qū)別好乐。表示一個(gè)元素在疊加順序上的上下立體關(guān)系.
在一個(gè)層疊上下文中, z-index值較大的元素將疊加在z-index值較小的元素之上。對(duì)于未指定此屬性的定位對(duì)象瓦宜,z-index 值為正數(shù)的對(duì)象會(huì)在其之上蔚万,而 z-index 值為負(fù)數(shù)的對(duì)象在其之下.可以參考這個(gè)例子

position: relative | absolute | fixed 會(huì)創(chuàng)建一個(gè)new stacking context, z-index屬性適用于定位元素(position屬性值為 relative 或 absolute 或 fixed的對(duì)象),用來確定定位元素在垂直于顯示屏方向(稱為Z軸)上的層疊順序

參考自關(guān)于z-index那些你不知道的事

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

兩者都可以是元素發(fā)生偏移.
相對(duì)定位發(fā)生偏移之后, 不影響其他元素的布局, 之前元素占據(jù)的空間扔存在.
負(fù)margin發(fā)生偏移后, 原來元素占據(jù)的空間會(huì)被讓出, 影響周圍元素的布局.
可以參考實(shí)例

  1. BFC 是什么临庇?如何生成 BFC反璃?BFC 有什么作用?舉例說明

BFC:塊級(jí)格式化上下文假夺,它是指一個(gè)獨(dú)立的塊級(jí)渲染區(qū)域淮蜈,只有Block-level BOX參與,該區(qū)域擁有一套渲染規(guī)則來約束塊級(jí)盒子的布局已卷,且與區(qū)域外部無關(guān)

CSS2.1中規(guī)定滿足下列CSS聲明之一的元素便會(huì)生成BFC:

  • 根元素
  • float的值不為none
  • overflow的值不為visible
  • display的值為inline-block梧田、table-cell、table-caption
  • position的值為absolute或fixed

BFC特性:

  • 按照BFC的定義, 只要同屬于一個(gè)BFC, 兩個(gè)元素才有可能發(fā)生垂直Margin的重疊, 這個(gè)包括相鄰元素, 嵌套元素,只要他們之間沒有阻擋(例如邊框,非空內(nèi)容,padding等)就會(huì)發(fā)生margin重疊
    因此要解決margin重疊問題,只要讓他們不在同一個(gè)BFC就行了, 但是對(duì)于兩個(gè)相鄰元素來說,意義不大,沒有必要給它們加個(gè)外殼, 但是對(duì)于嵌套元素來說就很必要了, 只要把父元素設(shè)置為BFC就可以了. 這樣子元素的margin就不會(huì)和父元素的margin發(fā)生重疊了
  • BFC不會(huì)重疊浮動(dòng)元素
    實(shí)例可以參考
  • BFC可以包含浮動(dòng)
    計(jì)算BFC高度時(shí), 浮動(dòng)子元素也參與運(yùn)算
    所以這條可以用來處理子元素都是浮動(dòng)元素時(shí),父元素沒有忽略子元素高度的問題
    實(shí)例可以參考
  1. 在什么場(chǎng)景下會(huì)出現(xiàn)外邊距合并侧蘸?如何合并裁眯?如何不讓相鄰元素外邊距合并?給個(gè)父子外邊距合并的范例

按照BFC的定義, 只要同屬于一個(gè)BFC, 兩個(gè)元素才有可能發(fā)生垂直Margin的重疊, 這個(gè)包括相鄰元素, 嵌套元素,只要他們之間沒有阻擋(例如邊框,非空內(nèi)容,padding等)就會(huì)發(fā)生margin重疊

  • 兩個(gè)相鄰的外邊距都是正數(shù)時(shí)讳癌,折疊結(jié)果是它們兩者之間較大的值
  • 兩個(gè)相鄰的外邊距都是負(fù)數(shù)時(shí)穿稳,折疊結(jié)果是兩者絕對(duì)值的較大值
  • 兩個(gè)外邊距一正一負(fù)時(shí),折疊結(jié)果是兩者的相加的和

阻止相鄰元素外邊距合并的方法是給相鄰元素添加一個(gè)外殼, 是兩個(gè)相鄰元素不在同一個(gè)BFC中.
舉例, 給.div2加了個(gè)外殼

要阻止父子外邊距合并, 可以讓父元素形成BFC
例子

可以參考Mdn外邊距合并,
CSS: 深入理解BFC和Margin Collapse (margin疊加或者合并外邊距)

代碼

  1. alert效果

  2. 表單效果

  3. 模態(tài)框效果

  4. 導(dǎo)航欄效果

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末晌坤,一起剝皮案震驚了整個(gè)濱河市逢艘,隨后出現(xiàn)的幾起案子旦袋,更是在濱河造成了極大的恐慌,老刑警劉巖它改,帶你破解...
    沈念sama閱讀 221,198評(píng)論 6 514
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件疤孕,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡央拖,警方通過查閱死者的電腦和手機(jī)胰柑,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,334評(píng)論 3 398
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來爬泥,“玉大人,你說我怎么就攤上這事崩瓤∨鄯龋” “怎么了?”我有些...
    開封第一講書人閱讀 167,643評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵却桶,是天一觀的道長境输。 經(jīng)常有香客問我,道長颖系,這世上最難降的妖魔是什么嗅剖? 我笑而不...
    開封第一講書人閱讀 59,495評(píng)論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮嘁扼,結(jié)果婚禮上信粮,老公的妹妹穿的比我還像新娘。我一直安慰自己趁啸,他們只是感情好强缘,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,502評(píng)論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著不傅,像睡著了一般旅掂。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上访娶,一...
    開封第一講書人閱讀 52,156評(píng)論 1 308
  • 那天商虐,我揣著相機(jī)與錄音,去河邊找鬼崖疤。 笑死秘车,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的劫哼。 我是一名探鬼主播鲫尊,決...
    沈念sama閱讀 40,743評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼沦偎!你這毒婦竟也來了疫向?” 一聲冷哼從身側(cè)響起咳蔚,我...
    開封第一講書人閱讀 39,659評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎搔驼,沒想到半個(gè)月后谈火,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,200評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡舌涨,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,282評(píng)論 3 340
  • 正文 我和宋清朗相戀三年糯耍,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片囊嘉。...
    茶點(diǎn)故事閱讀 40,424評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡温技,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出扭粱,到底是詐尸還是另有隱情舵鳞,我是刑警寧澤,帶...
    沈念sama閱讀 36,107評(píng)論 5 349
  • 正文 年R本政府宣布琢蛤,位于F島的核電站蜓堕,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏博其。R本人自食惡果不足惜套才,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,789評(píng)論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望慕淡。 院中可真熱鬧背伴,春花似錦、人聲如沸峰髓。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,264評(píng)論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽儿普。三九已至崎逃,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間眉孩,已是汗流浹背个绍。 一陣腳步聲響...
    開封第一講書人閱讀 33,390評(píng)論 1 271
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留浪汪,地道東北人巴柿。 一個(gè)月前我還...
    沈念sama閱讀 48,798評(píng)論 3 376
  • 正文 我出身青樓,卻偏偏與公主長得像死遭,于是被迫代替她去往敵國和親广恢。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,435評(píng)論 2 359

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

  • relative:生成相對(duì)定位的元素呀潭,通過top,bottom,left,right的位置相對(duì)于其正常位置進(jìn)行定位...
    zx9426閱讀 946評(píng)論 0 2
  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案钉迷? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標(biāo)簽?zāi)J(rèn)的外補(bǔ)...
    _Yfling閱讀 13,756評(píng)論 1 92
  • 一至非,浮動(dòng)元素有什么特征?對(duì)父容器糠聪、其他浮動(dòng)元素荒椭、普通元素、文字分別有什么影響? 浮動(dòng)模型是一種可視化格式模型舰蟆,浮動(dòng)...
    DeeJay_Y閱讀 877評(píng)論 0 4
  • 1.浮動(dòng)元素有什么特征趣惠?對(duì)父容器、其他浮動(dòng)元素身害、普通元素味悄、文字分別有什么影響? 任何定義為float的元素,都可以...
    QQQQQCY閱讀 263評(píng)論 0 0
  • 1.浮動(dòng)元素有什么特征塌鸯?對(duì)父容器侍瑟、其他浮動(dòng)元素、普通元素界赔、文字分別有什么影響? 特征:浮動(dòng)元素脫離普通文檔流,普通...
    山門龍龍閱讀 294評(píng)論 0 2