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

問答

1.浮動(dòng)元素有什么特征额港?對(duì)父容器胡岔、其他浮動(dòng)元素、普通元素屹篓、文字分別有什么影響?

  1. 特征:
  • 浮動(dòng)模型也是一種可視化格式模型莉御,浮動(dòng)的框可以左右移動(dòng)(根據(jù)float屬性值而定),直到它的外邊緣碰到包含框或者另一個(gè)浮動(dòng)元素的框的邊緣俗冻。浮動(dòng)元素不在文檔的普通流中礁叔,文檔的普通流中的元素表現(xiàn)的就像浮動(dòng)元素不存在一樣.
  • 如果包含塊兒太窄無法容納水平排列的三個(gè)浮動(dòng)元素,那么其它浮動(dòng)塊兒向下移動(dòng),直到有足夠的空間,如果浮動(dòng)元素的高度不同,那么向下移動(dòng)的時(shí)候可能被卡住
  1. 影響:
  2. 對(duì)父容器:父容器可能看不到該浮動(dòng)元素,即可能父元素高度塌陷
  3. 對(duì)其他浮動(dòng)元素:如果包含塊兒太窄無法容納水平排列的三個(gè)浮動(dòng)元素,那么其它浮動(dòng)塊兒向下移動(dòng),直到有足夠的空間,如果浮動(dòng)元素的高度不同,那么向下移動(dòng)的時(shí)候可能被卡住
  4. 對(duì)普通元素:浮動(dòng)元素之前的普通元素不受影響迄薄。浮動(dòng)元素之后的普通元素因感知不到浮動(dòng)元素的存在會(huì)被浮動(dòng)元素覆蓋琅关。
  5. 對(duì)文字:文字所在行框(或display:inline-block)因?yàn)楦?dòng)元素的擠壓而縮短,從而圍繞浮動(dòng)元素排列。

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

  1. 解決父容器高度塌陷的問題
  2. 清除浮動(dòng)的方法
  • 最后面加一個(gè)元素涣易,設(shè)置clear:float
  • BFC清除浮動(dòng)画机,設(shè)置父容器為BFC,形成BFC的方法:
  • float為 left|right
  • overflow為 hidden|auto|scroll
  • display為 table-cell|table-caption|inline-block
  • position為 absolute|fixed
  • 通用方案:設(shè)置:after的樣式為清除浮動(dòng)(若支持IE6新症、7:*zoom:1)

3.有幾種定位方式步氏,分別是如何實(shí)現(xiàn)定位的,參考點(diǎn)是什么徒爹,使用場(chǎng)景是什么荚醒?

  1. 5種方式:inherit,static,absolute,relative,fixed
  2. 如何實(shí)現(xiàn)定位,參考點(diǎn)隆嗅,使用場(chǎng)景:
  3. inherit:定位繼承方式幾成父容器界阁,(若父容器是相對(duì)定位,它也是相對(duì)定位)
  4. static:默認(rèn)值胖喳,是普通文檔流
  5. absolute:
    • 元素框從文檔流完全刪除泡躯,并相對(duì)于其包含塊定位。包含塊可能是文檔中的另一個(gè)元素或者是初始包含塊丽焊。元素原先在正常文檔流中所占的空間會(huì)關(guān)閉较剃,就好像元素原來不存在一樣。元素定位后生成一個(gè)塊級(jí)框粹懒,而不論原來它在正常流中生成何種類型的框重付。
    • 參考點(diǎn): 最近的不是static定位的祖先容器
    • 使用場(chǎng)景:元素水平垂直居中
  6. relative:
    • 元素框偏移某個(gè)距離。元素仍保持其未定位前的形狀凫乖,它原本所占的空間仍保留
    • 參考:是自身在文檔流中的位置
    • 場(chǎng)景:圖片小位移确垫,作為絕對(duì)定位的參考點(diǎn)
  7. fixed:
    • 元素框的表現(xiàn)類似于 absolute,不過其包含塊是視窗本身
    • 參考點(diǎn):瀏覽器窗口
    • 場(chǎng)景:位置固定的彈窗或返回頂部按鈕等

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

  1. 作用:控制非文檔流元素的疊放順序帽芽,該屬性值越高删掀,元素位置越靠上。
  2. 使用:當(dāng)設(shè)置為relative导街、absolute或fixed時(shí)披泪,通過設(shè)置z-index決定疊放順序

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

  1. position:relative

不會(huì)影響其他元素:顯示位置發(fā)生變化,文檔流位置不變

  1. 負(fù)margin

會(huì)影響其他元素:顯示位置和文檔流位置均發(fā)生變化

6.BFC 是什么搬瑰?如何生成 BFC款票?BFC 有什么作用?舉例說明

  1. BFC直譯為“塊級(jí)格式化范圍”(Block Formatting Context)泽论。是 W3C CSS 2.1 規(guī)范中的一個(gè)概念艾少,它決定了元素如何對(duì)其內(nèi)容進(jìn)行定位,以及與其他元素的關(guān)系和相互作用翼悴。當(dāng)涉及到可視化布局的時(shí)候缚够,Block Formatting Context提供了一個(gè)環(huán)境,HTML元素在這個(gè)環(huán)境中按照一定規(guī)則進(jìn)行布局。一個(gè)環(huán)境中的元素不會(huì)影響到其它環(huán)境中的布局谍椅。比如浮動(dòng)元素會(huì)形成BFC误堡,浮動(dòng)元素內(nèi)部子元素的主要受該浮動(dòng)元素影響,兩個(gè)浮動(dòng)元素之間是互不影響的雏吭。這里有點(diǎn)類似一個(gè)BFC就是一個(gè)獨(dú)立的行政單位的意思锁施。也可以說BFC就是一個(gè)作用范圍∷伎郑可以把它理解成是一個(gè)獨(dú)立的容器沾谜,并且這個(gè)容器的里box的布局,與這個(gè)容器外的毫不相干胀莹。
  2. 形成BFC的方法:
    • float為 left|right
    • overflow為 hidden|auto|scroll
    • display為 table-cell|table-caption|inline-block
    • position為 absolute|fixed
  3. 作用:
  • 設(shè)置父元素為BFC可以清除浮動(dòng)基跑,代碼范例
  • 解決margin重疊問題。只要讓它們不在同一個(gè)BFC就行了描焰,但是對(duì)于兩個(gè)相鄰元素來說媳否,意義不大,沒有必要給它們加個(gè)外殼荆秦,但是對(duì)于嵌套元素來說就很有必要了篱竭,只要把父元素設(shè)為BFC就可以了。這樣子元素的margin就不會(huì)和父元素的margin發(fā)生重疊步绸,[代碼范例](http://js.jirengu.com/torejixoni/1/edit)
    

7.在什么場(chǎng)景下會(huì)出現(xiàn)外邊距合并掺逼?如何合并?如何不讓相鄰元素外邊距合并瓤介?給個(gè)父子外邊距合并的范例

  1. 兩種情況:
  • 當(dāng)兩個(gè)垂直方向相鄰元素都不是浮動(dòng)元素時(shí),相鄰上或下外邊距取較大值進(jìn)行合并
  • 父子元素間沒有阻擋(如:邊框吕喘、非空內(nèi)容、padding等)時(shí)發(fā)生上或下外邊距合并刑桑。
  1. 滿足上面兩種情況:相鄰非浮動(dòng)元素氯质,父子元素沒有阻擋
  2. 分兩種情況
    • 垂直相鄰元素外邊距合并
      • 設(shè)置浮動(dòng)
      • 設(shè)置其中一個(gè)元素display:inline-block等等
    • 父子元素外邊距合并:
      • 為父元素設(shè)置padding或border
      • 設(shè)置父元素為BFC
  3. 父子元素合并范例

代碼

1.實(shí)現(xiàn)如下alert效果,效果范例14

代碼鏈接

2.實(shí)現(xiàn)如下表單效果祠斧, 效果范例13

代碼鏈接

3.實(shí)現(xiàn)如下模態(tài)框效果闻察, 效果范例11

代碼鏈接

4.實(shí)現(xiàn)如下導(dǎo)航欄效果,效果范例12

代碼鏈接

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末琢锋,一起剝皮案震驚了整個(gè)濱河市辕漂,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌吴超,老刑警劉巖钮热,帶你破解...
    沈念sama閱讀 212,599評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異烛芬,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,629評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門赘娄,熙熙樓的掌柜王于貴愁眉苦臉地迎上來仆潮,“玉大人,你說我怎么就攤上這事遣臼⌒灾茫” “怎么了?”我有些...
    開封第一講書人閱讀 158,084評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵揍堰,是天一觀的道長(zhǎng)鹏浅。 經(jīng)常有香客問我,道長(zhǎng)屏歹,這世上最難降的妖魔是什么隐砸? 我笑而不...
    開封第一講書人閱讀 56,708評(píng)論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮蝙眶,結(jié)果婚禮上季希,老公的妹妹穿的比我還像新娘。我一直安慰自己幽纷,他們只是感情好式塌,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,813評(píng)論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著友浸,像睡著了一般峰尝。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上收恢,一...
    開封第一講書人閱讀 50,021評(píng)論 1 291
  • 那天武学,我揣著相機(jī)與錄音,去河邊找鬼派诬。 笑死劳淆,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的默赂。 我是一名探鬼主播沛鸵,決...
    沈念sama閱讀 39,120評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼缆八!你這毒婦竟也來了曲掰?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,866評(píng)論 0 268
  • 序言:老撾萬榮一對(duì)情侶失蹤奈辰,失蹤者是張志新(化名)和其女友劉穎栏妖,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體奖恰,經(jīng)...
    沈念sama閱讀 44,308評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡吊趾,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,633評(píng)論 2 327
  • 正文 我和宋清朗相戀三年宛裕,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片论泛。...
    茶點(diǎn)故事閱讀 38,768評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡揩尸,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出屁奏,到底是詐尸還是另有隱情岩榆,我是刑警寧澤,帶...
    沈念sama閱讀 34,461評(píng)論 4 333
  • 正文 年R本政府宣布坟瓢,位于F島的核電站勇边,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏折联。R本人自食惡果不足惜粒褒,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,094評(píng)論 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望崭庸。 院中可真熱鬧怀浆,春花似錦、人聲如沸怕享。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,850評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽函筋。三九已至沙合,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間跌帐,已是汗流浹背首懈。 一陣腳步聲響...
    開封第一講書人閱讀 32,082評(píng)論 1 267
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留谨敛,地道東北人究履。 一個(gè)月前我還...
    沈念sama閱讀 46,571評(píng)論 2 362
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像脸狸,于是被迫代替她去往敵國(guó)和親最仑。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,666評(píng)論 2 350

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

  • relative:生成相對(duì)定位的元素炊甲,通過top,bottom,left,right的位置相對(duì)于其正常位置進(jìn)行定位...
    zx9426閱讀 933評(píng)論 0 2
  • 1. 浮動(dòng)元素有什么特征?對(duì)父容器颈娜、其他浮動(dòng)元素剑逃、普通元素浙宜、文字分別有什么影響? 浮動(dòng)元素的特征:CSS設(shè)計(jì)flo...
    饑人谷_邵征鵬閱讀 543評(píng)論 0 0
  • 浮動(dòng)元素有什么特征乓梨?對(duì)父容器鳖轰、其他浮動(dòng)元素、普通元素扶镀、文字分別有什么影響? 特征: 脫離正常文檔流蕴侣,沿其容器的左側(cè)...
    _Dot912閱讀 709評(píng)論 0 3
  • 1.浮動(dòng)元素有什么特征?對(duì)父容器臭觉、其他浮動(dòng)元素昆雀、普通元素、文字分別有什么影響? 任何定義為float的元素蝠筑,都可以...
    QQQQQCY閱讀 260評(píng)論 0 0
  • 1.浮動(dòng)元素有什么特征狞膘?對(duì)父容器、其他浮動(dòng)元素什乙、普通元素挽封、文字分別有什么影響? 浮動(dòng)模型也是一種可視化格式模型臣镣,浮...
    FLYSASA閱讀 315評(píng)論 0 0