任务10

作者: 饥人谷_星璇 | 来源:发表于2017-08-22 02:32 被阅读0次

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

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

相关文章

  • 任务10

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

  • 任务10

    派送成功,点击这里立即开始! 友情提示:本兼职信息《已通过正规部门审核,公司正规合法,请应聘者放心应聘》 本公司兼...

  • 任务10

    派送成功,点击这里立即开始! 友情提示:本兼职信息《已通过正规部门审核,公司正规合法,请应聘者放心应聘》 本公司兼...

  • 任务10

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

  • 任务10

    浮动元素有什么特征?对父容器、其他浮动元素、普通元素、文字分别有什么影响? 浮动元素的特征:不占据普通文档流的空间...

  • 任务10

    浮动元素有什么特征?对父容器、其他浮动元素、普通元素、文字分别有什么影响? 浮动模型是一种可视化格式模型,浮动的框...

  • 任务10

    浮动元素有什么特征?对父容器、其他浮动元素、普通元素、文字分别有什么影响? 特征: 浮动元素会脱离文档普通流,按照...

  • 任务10

    1.浮动元素有什么特征?对父容器、其他浮动元素、普通元素、文字分别有什么影响? 浮动元素默认宽度为内容宽度,脱离文...

  • 任务10

    浮动元素有什么特征?对父容器、其他浮动元素、普通元素、文字分别有什么影响? 浮动元素的主要特征是脱离普通流,根据设...

  • 任务10

    文档流的概念指什么?有哪种方式可以让元素脱离文档流? 文档流:将窗体自上而下分成一行一行,并在每行中按从左至右的挨...

网友评论

      本文标题:任务10

      本文链接:https://www.haomeiwen.com/subject/inlhdxtx.html