任务10

1.浮动元素有什么特征?对父容器、其他浮动元素、普通元素、文字分别有什么影响?

  • 浮动元素的特征:CSS的浮动更准确的说是水平浮动.浮动元素可以左浮动或者右浮动,设置浮动之后元素会脱离普通文档流,直到它的外边缘碰到包含框或者另一个浮动元素的框的边缘。任何元素都可以浮动,浮动元素会生成一个块级框,而不论它本身是何种元素。
  • 对父容器:浮动元素会脱离正常文档流,所以他不能撑开父元素,容易造成父元素的塌陷。
  • 对其他浮动元素:如果是相同方向浮动的元素,会按顺序向浮动方向排列,如果不同方向,则会往两边排列,如果父元素的空间不足以一排容纳,则会顺延到下一排,如果浮动元素的高度不同,那么向下移动的时候可能被卡住。
  • 对普通元素:因为脱离了普通文档流,普通元素会感觉不到浮动元素的存在。
  • 对文字:文本内容会受到浮动元素的影响,会移动以留出空间.用术语说就是浮动元素旁边的行框被缩短,从而给浮动元素流出空间,因而行框围绕浮动框。

2.清除浮动指什么? 如何清除浮动? 两种以上方法

  • 清除浮动指的是解决因为浮动的原因导致的父容器塌陷的问题。
  • 方法一:在浮动元素之后添加一个DIV,然后对其设置clear:both;属性,来完成清除浮动,缺点是增加了一个无意义的标签。
  • 方法二:使父元素形成BFC。(例如:对父元素添加overflow:hidden属性。)
  • 方法三:在最后一个元素后添加一个after伪类,然后再伪类中设置clear:both属性,效果和方法一一样,但是不会增加一个无意义的标签,相对来说用的最多的一种方法。

3.有几种定位方式,分别是如何实现定位的,参考点是什么,使用场景是什么?

  • 相对定位:对元素设置position:relative;便是对元素设置相对定位,表示相对于元素本身正常位置进行定位,正常文档流中的其他元素会感觉元素还在原来位置,不会进行变动。
  • 绝对定位:对元素设置position:absolute;便是对元素设置绝对定位,他是相对于static定位以外的第一个祖先元素(offset parent)进行定位,元素的位置通过 left, top, right 以及 bottom 属性进行规定。
  • static正常定位:默认值,没有定位,元素出现在正常的流中(忽略 top, bottom, left, right 或者 z-index 声明)
  • 固定定位:position:fixed属性是固定定位,也是相对于浏览器窗口进行绝对定位。元素的位置和绝对定位一样通过 left, top, right 以及 bottom 属性进行规定。

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

  • z-index 属性指定了一个元素及其子元素的 z-order。 当元素之间重叠的时候,z-order 决定哪一个元素覆盖在其余元素的上方显示。
  • z-index的值只在同级元素之间才会影响,对于同级元素,position不为static且z-index存在的情况下z-index大的元素会覆盖z-index小的元素,即z-index越大优先级越高。对于不是同级元素,z-index不影响堆叠顺序。
  • 如何使用:只要是position的值不为static的话即可设置z-index.

5.position:relative和负margin都可以使元素位置发生偏移?二者有什么区别

  • 二者区别为:position:relative不会改变普通文档流之中其他元素的位置,其他元素还是会认为设置了position:relative的元素在原来的位置,但是设置marin来让元素移动,会占用移动后的和移动前的空间,也会影响后面的元素的位置。

6.BFC 是什么?如何生成 BFC?BFC 有什么作用?举例说明

  • BFC的全称是 Block Format Content,中文翻译为块级格式化上下文。从样式上看,具有 BFC 的元素与普通的容器没有什么区别,但是从功能上,具有 BFC 的元素可以看作是隔离了的独立容器,容器里面的元素不会在布局上影响到外面的元素,并且 BFC 具有普通容器没有的一些特性,例如可以包含浮动元素。
  • 满足下面任一条件的元素,会触发为 BFC :
    1.浮动元素,float 除 none 以外的值
    2.绝对定位元素,position(absolute,fixed)
    3.display 为以下其中之一的值 inline-blocks,table-cells,table-captions
    4.overflow 除了 visible 以外的值(hidden,auto,scroll)
  • BFC的比较常用的一个作用是清除浮动:
image.png

子元素因为设置了浮动,所以父元素塌陷了。


image.png

对父元素设置overflow:hidden;形成BFC,清除浮动。

7.在什么场景下会出现外边距合并?如何合并?如何不让相邻元素外边距合并?给个父子外边距合并的范例

  • 块元素的顶部外边距和底部外边距有时被组合(折叠)为单个外边距,其大小是组合到其中的最大外边距,这种行为称为外边距塌陷(margin collapsing),有的地方翻译为外边距合并。
  • 发生外边距塌陷的三种基本情况:
    1.相邻的两个兄弟元素之间的外边距会塌陷(除非后者兄弟姐妹需要[清除过去的浮动])。
    2.块级父元素与其第一个/最后一个子元素,如果中间不存在边框、内边距、内联元素、清除浮动这四条属性,那么,块级父元素和其第一个/最后一个子元素就会发生外边距合并的现象。
    3.如果存在一个空的块级元素,其 border、padding、inline content、height、min-height都不存在。那么此时它的上下边距中间将没有任何阻隔,此时它的上下外边距将会合并。
  • 外边距合并的规则:如果合并的外边距都是正值或者负值,那么边距会取其中绝对值最大的一个作为合并的边距,如果合并的外边距为一正一负,那么合并的边距为两个正负边距的值相加。
  • 形成BFC的话会阻止外边距合并。
  • 父子外边距合并范例:


    image.png

    可以看出此时因为父子元素之间并没有边框、内边距、内联元素、清除浮动这四条属性,上边距已经合并了。

image.png

设置浮动属性之后,外边距合并消失。当然如果设置边框、内边距、内联元素其他任何一种,外边距合并也会消失。综合考虑是:设置对网页影响最小的一个因素。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,012评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,628评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,653评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,485评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,574评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,590评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,596评论 3 414
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,340评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,794评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,102评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,276评论 1 344
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,940评论 5 339
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,583评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,201评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,441评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,173评论 2 366
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,136评论 2 352

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,747评论 1 92
  • 1. 浮动元素有什么特征?对父容器、其他浮动元素、普通元素、文字分别有什么影响? 特征:浮动元素不在普通的文档流中...
    在乎者也阅读 1,172评论 0 1
  • 1、浮动元素有什么特征?对父容器、其他浮动元素、普通元素、文字分别有什么影响? 2、清除浮动指什么? 如何清除浮动...
  • 问答## 1 . 浮动的特征,影响##### 浮动模型也是一种可视化格式模型,浮动的框可以左右移动(根据float...
    mhy_web阅读 371评论 0 0
  • 浮动元素有什么特征?对父容器、其他浮动元素、普通元素、文字分别有什么影响?## 特征:浮动模型也是一种可视化格式模...
    饥人谷_zhangfan阅读 282评论 0 0