任务10

2017-02-16  本文已影响12人  普莱那

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

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

方法1 :在父元素的子元素最后添加一个空div,并对其设置样式:clear:both;
由于在子元素最后添加了空div,并清除了浮动,因此父容器被撑开,实现了在视觉上包围浮动元素的效果。或者结合CSS特性的通用清除浮动方案.clearfix:after{content: ””; display: block; clear: both;}
方法2:利用BFC来清除浮动。
因为BFC可以包含浮动,因此可以让父元素生成一个新的BFC从而包围浮动的子元素。
可以对父元素设定以下样式之一生成新BFC。
float: left | right;
overflow: hidden | auto | scroll;
display: table-cell | table-caption | inline-block;
position: absolute | fixed;

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

有6种定位方式:
inherit:从父元素继承;
static:默认值,没有定位,元素出现在正常的文档流中。参考点是文档流中的位置。
relative:相对定位。相对于元素本身正常位置进行定位,通过top、bottom、left、right属性来设置偏移量。使用场景:为绝对定位设定参照物或对元素自身位置进行局部调整。
absolute:绝对定位。相对于static定位以外的第一个祖先元素进行定位,若都没有发现则以html标签为参考进行定位。使用场景:当想让元素参照特定参照物进行定位时使用。
fixed:固定定位。生成绝对定位元素,相对于viewport进行定位。
sticky:对象在常态时遵循普通流。它就像是relative和fixed的合体,当在屏幕中时按常规流排版,当卷动到屏幕外时则表现如fixed。

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

因为绝对定位的元素脱离了普通流,所以绝对定位的元素可以覆盖页面上的其它元素。这时可以通过给元素设置z-index属性来控制叠放顺序,该属性值越高,元素位置越靠上。

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

position:relative;只相对自己原本位置发生偏移,不影响其它普通流中元素的位置。
margin:除了让元素自身发生偏移还影响其它普通流中的元素。

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

BFC是块级格式上下文。

对元素设置以下属性就可以生成BFC:
float: left | right;
overflow: hidden | auto | scroll;
display: table-cell | table-caption | inline-block;
position: absolute | fixed;

BFC的作用有:
(1) 解决margin重叠问题。所谓margin重叠是指处于同一个BFC的相邻元素、嵌套元素,只要它们之间没有阻挡(如:边框、非空内容、padding等)就会发生margin重叠。这是只要让其中一个元素生成新的BFC就能解决margin重叠问题。



(2) 清除浮动。因为BFC可以包含浮动,所以让父容器生成新的BFC可以让父容器在视觉上包围了浮动的子元素,因而清除了浮动。



(3) BFC不会重叠浮动元素

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

场景一场景一
场景二场景二
场景三场景三
  1. margin:100px 和 margin:50px合并,他们合并后的margin为100px
  2. margin:100px 和 margin:-50px合并,他们合并后的margin为50px
  3. margin:-100px 和 margin:-50px合并,他们合并后的margin为-100px

解决外边距合并的办法:

  1. 若不想相邻的两个元素margin合并,此时我们只需要把元素放到不同的BFC中。
  2. 若不想父子元素margin合并,让父元素生成BFC。

父子外边距合并的范例:


父子元素的上外边距发生了合并父子元素的上外边距发生了合并

代码任务

alert效果
表单效果
模态框效果
navigator bar

上一篇 下一篇

猜你喜欢

热点阅读