浮動定位 BFC邊距合并

1浮動元素有什么特征迂苛?對父容器、其他浮動元素鼓择、普通元素三幻、文字分別有什么影響?

特征:浮動元素會脫離文檔流,按照指定方向發(fā)生移動呐能,遇到父級邊界或者相鄰的浮動元素停了下來赌髓。
對父容器的影響: 不與父容器發(fā)生外邊距合并。無法撐開父元素催跪。
對其他浮動元素的影響:
如果父容器足夠?qū)捤洌c其他浮動元素同一水平方向依次排列。
父容器寬度比較窄時懊蒸,超出父容器寬度的浮動元素向下移動,直到有足夠的空間,如果水平排列三個以上高度不同浮動元素荣倾,那么向下移動的時候可能被卡住。
對普通元素的影響:浮動元素之前的普通元素不受影響骑丸。浮動元素之后的普通元素因感知不到浮動元素的存在會被浮動元素覆蓋舌仍。
對文字的影響:文字無法被浮動元素覆蓋,因而會圍繞浮動元素排列通危。

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

清除浮動指:消除浮動元素對其他元素因浮動元素造成的高度塌陷的問題铸豁。
清除浮動方法:
1浮動元素脫離文檔流,父元素?zé)o法感知浮動元素的容量菊碟,如果父元素未設(shè)置高度值节芥,父元素高度無法只由浮動元素撐開,造成父容器塌陷.
父級div定義 height :
原理:父級div手動定義height,就解決了父級div無法自動獲取到高度的問題。
優(yōu)點:簡單头镊、代碼少蚣驼、容易掌握
缺點:只適合高度固定的布局,要給出精確的高度相艇,如果高度和父級div不一樣時颖杏,會產(chǎn)生問題
建議:不推薦使用,只建議高度固定的布局時使用
2結(jié)尾處加空div標(biāo)簽 clear:both :
原理:添加一個空div坛芽,利用css提高的clear:both清除浮動留储,讓父級div能自動獲取到高度
優(yōu)點:簡單、代碼少咙轩、瀏覽器支持好欲鹏、不容易出現(xiàn)怪問題
缺點:不少初學(xué)者不理解原理;如果頁面浮動布局多臭墨,就要增加很多空div,讓人感覺很不好
建議:不推薦使用膘盖,但此方法是以前主要使用的一種清除浮動方法
3父級div定義 偽類:after 和 zoom :
原理:IE8以上和非IE瀏覽器才支持:after胧弛,原理和方法2有點類似,zoom(IE轉(zhuǎn)有屬性)可解決ie6,ie7浮動問題
優(yōu)點:瀏覽器支持好侠畔、不容易出現(xiàn)怪問題(目前:大型網(wǎng)站都有使用结缚,如:騰迅,網(wǎng)易软棺,新浪等等)
缺點:代碼多红竭、不少初學(xué)者不理解原理,要兩句代碼結(jié)合使用才能讓主流瀏覽器都支持喘落。
建議:推薦使用茵宪,建議定義公共類,以減少CSS代碼瘦棋。

.clearfix:after {
   content: " "; /* 舊版瀏覽器不支持空內(nèi)容 */
   visibility: hidden;
   display: block;
   height: 0;
   clear: both;
        }
.clearfix {
*zoom:1;    
}

3有幾種定位方式稀火,分別是如何實現(xiàn)定位的,參考點是什么赌朋,使用場景是什么凰狞?

inherit :規(guī)定應(yīng)該從父元素繼承 position 屬性的值。
static:默認值,沒有定位沛慢,元素出現(xiàn)在正常的流中(忽略 top, bottom, left, right 或者 z-index 聲明)
relative:生成相對定位的元素赡若,相對于元素本身正常位置進行定位。
absolute生成絕對定位的元素团甲,相對于static定位以外的第一個祖先元素進行定位,元素的位置通過 left, top, right以及 bottom 屬性進行規(guī)定逾冬。
fixed生成絕對定位的元素,相對于瀏覽器窗口進行定位躺苦。元素的位置通過 left, top, right 以及 bottom 屬性進行規(guī)定粉渠。

postion:sticky分冈,盒位置根據(jù)正常流計算(這稱為正常流動中的位置),然后相對于該元素在流中的 flow root(BFC)和 containing block(最近的塊級祖先元素)定位霸株。在所有情況下(即便被定位元素為 table 時)雕沉,該元素定位均不對后續(xù)元素造成影響。當(dāng)元素 B 被粘性定位時去件,后續(xù)元素的位置仍按照 B 未定位時的位置來確定坡椒。position: sticky 對 table 元素的效果與 position: relative 相同。
ps兼容性較差尤溜,一般不使用倔叼。

absolute:相對于定位了的第一個父元素。(會脫離文檔流)
relative:相對于自身位置移動宫莱。(不會脫離文檔流)
fixed:相對于瀏覽器窗口定位丈攒。(會脫離文檔流)

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

● z-index值表示誰壓著誰。數(shù)值大的壓蓋住數(shù)值小的授霸。
● 只有定位了的元素巡验,才能有z-index值。也就是說碘耳,不管相對定位显设、絕對定位、固定定位辛辨,都可以使用z-index值捕捂。而浮動的東西不能用。
● z-index值沒有單位斗搞,就是一個整數(shù)指攒。默認的z-index值是0,可以為負數(shù).
● 如果大家都沒有z-index值,或者z-index值一樣僻焚,那么誰寫在HTML后面幽七,誰在上面能壓住別人。定位了的元素溅呢,永遠能夠壓住沒有定位的元素澡屡。
● 從父現(xiàn)象:父親慫了,兒子再牛逼也沒用咐旧。

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

1.relative方式偏移不會影響周圍元素的位置驶鹉,周圍元素認為設(shè)置了relative方式元素的位置沒有變化。
2.負margin偏移會使周圍元素也會跟隨者該元素偏移铣墨。

6.BFC 是什么室埋?如何生成 BFC?BFC 有什么作用?舉例說明

BFC是什么

BFC的全稱是 Block Format Content直譯為"塊級格式化上下文"姚淆。它是一個獨立的渲染區(qū)域孕蝉,只有Block-level box參與, 它規(guī)定了內(nèi)部的Block-level Box如何布局腌逢,并且與這個區(qū)域外部毫不相干降淮。

哪些元素會生成BFC?

1、根元素
2搏讶、float屬性不為none
3佳鳖、position為absolute或fixed
4、display為inline-block, table-cell, table-caption, flex, inline-flex
5媒惕、overflow不為visible

BF作用

1清除內(nèi)部浮動系吩,解決父容器塌陷問題
2防止垂直 margin 重疊

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

1.相鄰元素:兩個或多個毗鄰的普通流中的塊元素垂直方向上的 margin 會折疊,取其中margin的最大值
2.包含(父子)元素疊加:包含元素的外邊距隔著父元素的padding和border肴盏, 當(dāng)這兩項都不存在的時候科盛, 父元素與其包含垂直外邊距相鄰的子元素(也就是第一個子元素和最后一個子元素), 產(chǎn)生疊加叁鉴。 添加padding border中的任何一項即會取消疊加。
最終的margin值計算方法如下:
全部都為正值佛寿,取最大者幌墓;
不全是正值,這兩個值相加得到的值
兩個負值則取絕對值的最大值
3如果存在一個空的塊級元素冀泻,其 border常侣、padding、inline content弹渔、height胳施、min-height 都不存在。那么此時它的上下邊距中間將沒有任何阻隔肢专,此時它的上下外邊距將會合并舞肆。

如何防止外邊距合并?
1.生成BFC博杖。
2.內(nèi)層元素的margin用外層元素的padding來代替椿胯。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市剃根,隨后出現(xiàn)的幾起案子哩盲,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,729評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件廉油,死亡現(xiàn)場離奇詭異惠险,居然都是意外死亡,警方通過查閱死者的電腦和手機抒线,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,226評論 3 399
  • 文/潘曉璐 我一進店門班巩,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人十兢,你說我怎么就攤上這事趣竣。” “怎么了旱物?”我有些...
    開封第一講書人閱讀 169,461評論 0 362
  • 文/不壞的土叔 我叫張陵遥缕,是天一觀的道長。 經(jīng)常有香客問我宵呛,道長单匣,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 60,135評論 1 300
  • 正文 為了忘掉前任宝穗,我火速辦了婚禮户秤,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘逮矛。我一直安慰自己鸡号,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 69,130評論 6 398
  • 文/花漫 我一把揭開白布须鼎。 她就那樣靜靜地躺著鲸伴,像睡著了一般。 火紅的嫁衣襯著肌膚如雪晋控。 梳的紋絲不亂的頭發(fā)上汞窗,一...
    開封第一講書人閱讀 52,736評論 1 312
  • 那天,我揣著相機與錄音赡译,去河邊找鬼仲吏。 笑死,一個胖子當(dāng)著我的面吹牛蝌焚,可吹牛的內(nèi)容都是我干的裹唆。 我是一名探鬼主播,決...
    沈念sama閱讀 41,179評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼只洒,長吁一口氣:“原來是場噩夢啊……” “哼品腹!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起红碑,我...
    開封第一講書人閱讀 40,124評論 0 277
  • 序言:老撾萬榮一對情侶失蹤舞吭,失蹤者是張志新(化名)和其女友劉穎泡垃,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體羡鸥,經(jīng)...
    沈念sama閱讀 46,657評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡蔑穴,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,723評論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了惧浴。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片存和。...
    茶點故事閱讀 40,872評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖衷旅,靈堂內(nèi)的尸體忽然破棺而出捐腿,到底是詐尸還是另有隱情,我是刑警寧澤柿顶,帶...
    沈念sama閱讀 36,533評論 5 351
  • 正文 年R本政府宣布茄袖,位于F島的核電站,受9級特大地震影響嘁锯,放射性物質(zhì)發(fā)生泄漏宪祥。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 42,213評論 3 336
  • 文/蒙蒙 一家乘、第九天 我趴在偏房一處隱蔽的房頂上張望蝗羊。 院中可真熱鬧,春花似錦仁锯、人聲如沸耀找。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,700評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽野芒。三九已至,卻和暖如春腻要,著一層夾襖步出監(jiān)牢的瞬間复罐,已是汗流浹背涝登。 一陣腳步聲響...
    開封第一講書人閱讀 33,819評論 1 274
  • 我被黑心中介騙來泰國打工雄家, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人胀滚。 一個月前我還...
    沈念sama閱讀 49,304評論 3 379
  • 正文 我出身青樓趟济,卻偏偏與公主長得像,于是被迫代替她去往敵國和親咽笼。 傳聞我的和親對象是個殘疾皇子顷编,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,876評論 2 361

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

  • relative:生成相對定位的元素,通過top,bottom,left,right的位置相對于其正常位置進行定位...
    zx9426閱讀 947評論 0 2
  • 1.浮動元素有什么特征剑刑?對父容器媳纬、其他浮動元素双肤、普通元素、文字分別有什么影響? 特征:浮動元素脫離普通文檔流钮惠,普通...
    山門龍龍閱讀 296評論 0 2
  • 問答 1.浮動元素有什么特征茅糜?對父容器、其他浮動元素素挽、普通元素蔑赘、文字分別有什么影響? 浮動元素的特征:文字環(huán)繞浮動...
    liushaung閱讀 386評論 0 3
  • 1.浮動元素有什么特征?對父容器预明、其他浮動元素缩赛、普通元素、文字分別有什么影響? 浮動元素 浮動元素是設(shè)置float...
    Volcaner閱讀 353評論 0 0
  • 1.浮動元素有什么特征撰糠?對父容器酥馍、其他浮動元素、普通元素窗慎、文字分別有什么影響? 浮動元素不在文檔的普通流中物喷,它可以...
    yuhuan121閱讀 466評論 0 0