csss的一些知識(三)

一概疆,浮動元素有什么特征盏混?對其他浮動元素、普通元素绩脆、文字分別有什么影響?

1.特性:
  • 浮動元素會脫離正常的文檔流掰茶;
  • 浮動的框可以向左或向右移動暇藏,直到它的外邊緣碰到包含框或另一個浮動框的邊框為止;
  • 浮動元素display的默認(rèn)值為"block"
2.影響:
  • 2.1濒蒋、對其父元素的影響
    對于其父元素來說,元素浮動之后,它脫離當(dāng)前正常的文檔流沪伙,所以它也無法撐開其父元素瓮顽,造成父元素的塌陷
  • 2.2,對其兄弟元素(浮動)的影響
    同一個方向的浮動元素:當(dāng)一個浮動元素在浮動過程中碰到同一個方向的浮動元素時围橡,它會緊跟在它們后面
    反方向的浮動元素:互不影響暖混,位于同一條水平線上,當(dāng)空間不夠時會被擠下
  • 2.3翁授、對其兄弟元素(非浮動)和其兄弟元素內(nèi)部文字的影響
    如果兄弟元素為塊級元素拣播,該元素會忽視浮動元素的而占據(jù)它的位置,并且元素會處在浮動元素的下層(并且無法通過z-index屬性改變他們的層疊位置)收擦,但它的內(nèi)部文字和其他行內(nèi)元素都會環(huán)繞浮動元素贮配。
    如果如果兄弟元素為內(nèi)聯(lián)元素,則元素會環(huán)繞浮動元素排列塞赂。

二泪勒,清除浮動指什么? 如何清除浮動? 兩種以上方法

  • 清除浮動:解決浮動父容器高度塌陷問題
  • 具體方法:
    1.為浮動元素的父容器定義 overflow: hidden | auto | scroll,讓其父容器形成BFC宴猾,即可清除浮動影響圆存。
    缺點:如果里面的內(nèi)容溢出父容器,會造成其他影響仇哆。
    2.直接在父容器里面的最后位置添加一個空div沦辙,設(shè)置它的clear為both。
    缺點:如無必要讹剔,無增實體怕轿,增加了一個無意義的標(biāo)簽。
    3.使用after偽元素選擇權(quán)辟拷,在父容器最后面添加一個display為block | table的元素撞羽,設(shè)置它的clear為both(通時在父容器上添加*zoom:1,這樣可以兼容ie6~7;)是現(xiàn)在比較主流和通用的做法衫冻。

三诀紊,有幾種定位方式,分別是如何實現(xiàn)定位的隅俘,參考點是什么邻奠,使用場景是什么?

  • relative:生成相對定位的元素为居,相對于元素本身正常位置進(jìn)行定位,因此碌宴,left:20px 會向元素的 left 位置添加20px;
    使用場景:不需要脫離正常文檔流蒙畴,并進(jìn)行定位的元素贰镣。
  • absolute:生成絕對定位的元素呜象,相對于static定位以外的第一個祖先元素(offset parent)進(jìn)行定位,元素的位置通過 left, top, right 以及 bottom 屬性進(jìn)行規(guī)定;
    使用場景:需要脫離正常文檔流碑隆,并進(jìn)行定位的元素恭陡。
  • fixed:生成絕對定位的元素,相對于瀏覽器窗口進(jìn)行定位上煤。元素的位置通過 left, top, right 以及 bottom 屬性進(jìn)行規(guī)定休玩;
    使用場景:始終出現(xiàn)在窗口某個位置的部分。
  • inherit:規(guī)定應(yīng)該從父元素繼承 position 屬性的值劫狠;
  • absolute:生成絕對定位的元素拴疤,相對于static定位以外的第一個祖先元素(offset parent)進(jìn)行定位,元素的位置通過 left, top, right 以及 bottom 屬性進(jìn)行規(guī)定;

四独泞,z-index 有什么作用? 如何使用?

  • 作用:該屬性設(shè)置一個定位元素沿 z 軸的位置呐矾,z 軸定義為垂直延伸到顯示區(qū)的軸。如果為正數(shù)阐肤,則離用戶更近凫佛,為負(fù)數(shù)則表示離用戶更遠(yuǎn)
  • 使用:
...
.a{
  background:red;
  width:100px;
  height:100px;
}
.b{
  background:yellow;
  width:100px;
  height:100px;
  position:absolute;
  top:10px;
  left:10px;
  z-index:-1;
}
...
<div class="a">aaaa</div>
<div class="b">bbbb</div>
...

兩個同級的div,給b塊設(shè)置了絕對定位(z-index屬性目前只有在position:relative孕惜、position:absolute和position:fixed參與的情況下才有作用愧薛,表示層級),本應(yīng)覆蓋a塊衫画,但是又給b塊設(shè)置了z-index為-1毫炉,z-index為負(fù)數(shù)則表示離用戶更遠(yuǎn);

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

  • position:relative:相對定位,偏移后元素未脫離文檔流且所占的原始空間仍會被保留弥激,不會對文檔流造成偏移影響进陡;
  • 負(fù)margin:外邊距,當(dāng)外邊距為負(fù)值的時候微服,元素也會進(jìn)行偏移趾疚,不會脫離文檔流,但是會影響文檔流的位置以蕴,其他元素有可能也隨之偏移糙麦,;

六丛肮,BFC 是什么赡磅?如何生成 BFC?BFC 有什么作用宝与?舉例說明

  • BFC:即塊級格式化上下文焚廊,它決定了元素如何對其內(nèi)容進(jìn)行定位,以及與其他元素的關(guān)系和相互作用徙硅。
  • 如何讓一個容器形成BFC:

float為 left | right
overflow為 hidden | auto | scroll
display為 table-cell | table-caption | inline-block
position為 absolute | fixed

  • BFC 有什么作用搞疗?
    1.BFC會阻止垂直外邊距(margin-top须肆、margin-bottom)折疊
    2.BFC不會重疊浮動元素
  1. BFC可以包含浮動
    如可以使用BFC的特性來解決容器塌陷的問題:
.box{
  border:4px solid;
  width:200px;
  overflow:hidden;   /*觸發(fā)了BFC,解決了容器塌陷的問題*/
}
.a{
  width:100px;   
  height:100px;
  background:red;
  float:left; /*a塊左浮動*/
}
.b{
  width:100px;
  height:100px;
  background:blue;
  float:right; /*b塊右浮動*/
}
...
<div class="box">
      <div class="a">aaaa</div>
      <div class="b">bbbb</div>
    </div>
...

容器有個兩個浮動塊幢炸,這樣會導(dǎo)致容器塌陷,為容器添加overflow:hidden拒贱,觸發(fā)了BFC,解決了容器塌陷的問題宛徊;

六,在什么場景下會出現(xiàn)外邊距合并逻澳?如何合并闸天?如何不讓相鄰元素外邊距合并?給個父子外邊距合并的范例斜做;

1.在什么場景下會出現(xiàn)外邊距合并苞氮?如何合并?給個父子外邊距合并的范例:
  • 一個BFC中的兩個或多個毗鄰(普通流)塊元素垂直方向上的 margin瓤逼;
正正

設(shè)置A塊的下margin為20px笼吟,B塊的上margin為20px,這個時候他們的外邊距合并了霸旗,A贷帮、B兩塊之間的間距為20px(如果A塊的下margin值和B塊的上margin值不一樣,中間的間距將會取兩個margin值中的最大值)诱告;

正負(fù)

設(shè)置A塊的下margin為20px撵枢,設(shè)置B塊的上margin為-10px,這個時候他們的外邊距合并了蔬啡,A诲侮、B兩塊之間的垂直間距為10px,A箱蟆、B兩塊之間的間距距離是它們A塊下margin,B塊上margin值之和(如果這個和是負(fù)數(shù)的話空猜,A塊將被B塊覆蓋相應(yīng)尺寸);

負(fù)負(fù)

設(shè)置A塊的下margin為-40px搜贤,設(shè)置B塊的上margin為-10px仪芒,這個時候他們的外邊距合并了掂名,A塊被B塊覆蓋了40px饺蔑,A猾警、B兩塊之間的重合高度是A塊下margin发皿,B塊上margin值中的最小值雳窟;

  • 塊級父元素與其第一個/最后一個子元素也會發(fā)生素垂直方向上margin合并封救。
父子

將BOX塊的上margin設(shè)置為10px,A塊的上margin設(shè)置為30px券躁,BOX塊沒有內(nèi)邊距和邊框也拜,這個時候他們的外邊距合并了慢哈,BOX的實際上margin取決于BOX塊和A塊的上margin中的最大值卵贱。類似的,若塊級父元素的 margin-bottom與它的最后一個子元素的margin-bottom之間沒有父元素的border世分、padding臭埋、inline content斋泄、height镐牺、min-height睬涧、max-height分隔時畦浓,就會發(fā)生 下外邊距合并現(xiàn)象讶请。

2.如何不讓相鄰元素外邊距合并?

2.1.用非空內(nèi)容风响、padding状勤、border 或 clear 讓它們分隔開來持搜;
2.2.將它們其中一個設(shè)置為浮動元素葫盼、inline-block 元素或絕對定位元素的剪返。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末脱盲,一起剝皮案震驚了整個濱河市钱反,隨后出現(xiàn)的幾起案子面哥,更是在濱河造成了極大的恐慌尚卫,老刑警劉巖吱涉,帶你破解...
    沈念sama閱讀 222,627評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件特石,死亡現(xiàn)場離奇詭異姆蘸,居然都是意外死亡逞敷,警方通過查閱死者的電腦和手機兰粉,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,180評論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來慨菱,“玉大人符喝,你說我怎么就攤上這事〗纱ǎ” “怎么了把夸?”我有些...
    開封第一講書人閱讀 169,346評論 0 362
  • 文/不壞的土叔 我叫張陵,是天一觀的道長嘹狞。 經(jīng)常有香客問我磅网,道長知市,這世上最難降的妖魔是什么嫂丙? 我笑而不...
    開封第一講書人閱讀 60,097評論 1 300
  • 正文 為了忘掉前任,我火速辦了婚禮隅肥,結(jié)果婚禮上腥放,老公的妹妹穿的比我還像新娘秃症。我一直安慰自己种柑,他們只是感情好聚请,可當(dāng)我...
    茶點故事閱讀 69,100評論 6 398
  • 文/花漫 我一把揭開白布驶赏。 她就那樣靜靜地躺著煤傍,像睡著了一般患久。 火紅的嫁衣襯著肌膚如雪蒋失。 梳的紋絲不亂的頭發(fā)上篙挽,一...
    開封第一講書人閱讀 52,696評論 1 312
  • 那天链韭,我揣著相機與錄音敞峭,去河邊找鬼蝉仇。 笑死轿衔,一個胖子當(dāng)著我的面吹牛害驹,可吹牛的內(nèi)容都是我干的宛官。 我是一名探鬼主播摘刑,決...
    沈念sama閱讀 41,165評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼党晋,長吁一口氣:“原來是場噩夢啊……” “哼未玻!你這毒婦竟也來了扳剿?” 一聲冷哼從身側(cè)響起庇绽,我...
    開封第一講書人閱讀 40,108評論 0 277
  • 序言:老撾萬榮一對情侶失蹤耕餐,失蹤者是張志新(化名)和其女友劉穎肠缔,沒想到半個月后明未,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體趟妥,經(jīng)...
    沈念sama閱讀 46,646評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡煮纵,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,709評論 3 342
  • 正文 我和宋清朗相戀三年匆光,在試婚紗的時候發(fā)現(xiàn)自己被綠了终息。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片周崭。...
    茶點故事閱讀 40,861評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡美澳,死狀恐怖制跟,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情擂涛,我是刑警寧澤撒妈,帶...
    沈念sama閱讀 36,527評論 5 351
  • 正文 年R本政府宣布,位于F島的核電站社露,受9級特大地震影響峭弟,放射性物質(zhì)發(fā)生泄漏瞒瘸。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 42,196評論 3 336
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望竟秫。 院中可真熱鬧跷乐,春花似錦愕提、人聲如沸浅侨。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,698評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽订歪。三九已至刷晋,卻和暖如春眼虱,著一層夾襖步出監(jiān)牢的瞬間席纽,已是汗流浹背润梯。 一陣腳步聲響...
    開封第一講書人閱讀 33,804評論 1 274
  • 我被黑心中介騙來泰國打工寇钉, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留扫倡,地道東北人竟纳。 一個月前我還...
    沈念sama閱讀 49,287評論 3 379
  • 正文 我出身青樓缘挑,卻偏偏與公主長得像卖哎,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子焕窝,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,860評論 2 361

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

  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案巴帮? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標(biāo)簽?zāi)J(rèn)的外補...
    _Yfling閱讀 13,761評論 1 92
  • relative:生成相對定位的元素垃沦,通過top,bottom,left,right的位置相對于其正常位置進(jìn)行定位...
    zx9426閱讀 947評論 0 2
  • 一,浮動元素有什么特征池充?對父容器缎讼、其他浮動元素血崭、普通元素、文字分別有什么影響? 浮動模型是一種可視化格式模型咽瓷,浮動...
    DeeJay_Y閱讀 878評論 0 4
  • 一糯钙、在什么場景下會出現(xiàn)外邊距合并任岸?如何合并享潜?如何不讓相鄰元素外邊距合并嗅蔬?給個父子外邊距合并的范例 在CSS當(dāng)中,相...
    dengpan閱讀 580評論 0 0
  • 如果我伸出雙手 你能感受到溫暖 借此堅強 戰(zhàn)勝病魔 如果我獻(xiàn)上鮮花 你能感受到祝福 借此美好 戰(zhàn)勝病魔 如果我掬來...
    阿琴姑娘閱讀 1,163評論 48 64