美文网首页
CSS学习总结

CSS学习总结

作者: 夏_0327 | 来源:发表于2018-08-31 09:48 被阅读0次

Float

使用float来使元素浮动,从而脱离文档流,可选值如下:

    none,默认值,元素默认在文档流中排列

    left,元素会立即脱离文档流,向页面的左侧浮动

    right,元素会立即脱离文档流,向页面的右侧浮动

当为一个元素设置浮动以后(float属性是一个非none的值),

元素会立即脱离文档流,元素脱离文档流以后,它下边的元素会立即向上移动

元素浮动以后,会尽量向页面的左上或这是右上漂浮,直到遇到父元素的边框或者其他的浮动元素

如果浮动元素上边是一个没有浮动的块元素,则浮动元素不会超过块元素

浮动的元素不会超过他上边的兄弟元素,最多与兄弟元素一边齐


BFC

根据W3C的标准,在页面中元素都一个隐含的属性叫做Block Formatting Context,简称BFC,该属性可以设置打开或者关闭,默认是关闭的。

当开启元素的BFC以后,元素将会具有如下的特性:

    1) 父元素的垂直外边距不会和子元素重叠

    2) 开启BFC的元素不会被浮动元素所覆盖

    3) 开启BFC的元素可以包含浮动的子元素

如何开启元素的BFC

    1.设置元素浮动

    使用这种方式开启,虽然可以撑开父元素,但是会导致父元素的宽度丢失,而且使用这种方式也会导致下边的元素上移,不能解决问题

    2.设置元素绝对定位

    3.设置元素为inline-block

    可以解决问题,但是会导致高度丢失,不推荐使用这种方式

    4.将元素的overflow设置为一个非visible的值

    推荐方式:将overflow设置为hidden是副作用最小的开启BFC的方式。

clear

我们有时希望清除掉其他元素浮动对当前元素产生的影响,这时可以使用clear来完成功能,clear可以用来清除其他浮动元素对当前元素的影响

可选值:

    none,默认值,不清除浮动

    left,清除左侧浮动元素对当前元素的影响

    right,清除右侧浮动元素对当前元素的影响

    both,清除两侧浮动元素对当前元素的影响,清除对他影响最大的那个元素的浮动

推荐写法:

可以通过after伪类向元素的最后添加一个空白的块元素,然后对其清除浮动。

.clearfix:after{

/*添加一个内容*/

content: "";

/*转换为一个块元素*/

display: block;

/*清除两侧的浮动*/

clear: both;

}

position

定位指的就是将指定的元素摆放到页面的任意位置,通过position属性来设置元素的定位

可选值:

    static:默认值,元素没有开启定位

    relative:开启元素的相对定位

    absolute:开启元素的绝对定位

    fixed:开启元素的固定定位(也是绝对定位的一种)

当元素的position属性设置为relative时,则开启了元素的相对定位

    1.当开启了元素的相对定位以后,而不设置偏移量时,元素不会发生任何变化

    2.相对定位是相对于元素在文档流中原来的位置进行定位

    3.相对定位的元素不会脱离文档流

    4.相对定位会使元素提升一个层级

    5.相对定位不会改变元素的性质,块还是块,内联还是内联

当开启了元素的定位(position属性值是一个非static的值)时,可以通过left right top bottom四个属性来设置元素的偏移量

    left:元素相对于其定位位置的左侧偏移量

    right:元素相对于其定位位置的右侧偏移量

    top:元素相对于其定位位置的上边的偏移量

    bottom:元素相对于其定位位置下边的偏移量

通常偏移量只需要使用两个就可以对一个元素进行定位,选择水平方向的一个偏移量和垂直方向的偏移量来为一个元素进行定位

当position属性值设置为absolute时,则开启了元素的绝对定位

绝对定位:

    1.开启绝对定位,会使元素脱离文档流

    2.开启绝对定位以后,如果不设置偏移量,则元素的位置不会发生变化

    3.绝对定位是相对于离他最近的开启了定位的祖先元素进行定位的(一般情况,开启了子元素的绝对定位都会同时开启父元素的相对定位)

    如果所有的祖先元素都没有开启定位,则会相对于浏览器窗口进行定位

    4.绝对定位会使元素提升一个层级

    5.绝对定位会改变元素的性质,

    内联元素变成块元素,块元素的宽度和高度默认都被内容撑开

flex

查看网址:

https://www.runoob.com/w3cnote/flex-grammar.html

http://www.ruanyifeng.com/blog/2015/07/flex-grammar.html

http://www.ruanyifeng.com/blog/2015/07/flex-examples.html

margin: 0, auto 与 text-align: center

margin: 0 auto; 是使自身在浏览器内居中,需要配合宽度使用,脱离文本流导致该属性失效,后不要设置float:left和right等,否则会失效。

text-align: center; 是使标签的内容居中。

相关文章

  • CSS学习总结

    引言: CSS 指层叠样式表 (CascadingStyleSheets),样式定义如何显示HTML元素,样式通常...

  • CSS学习总结

    Float 使用float来使元素浮动,从而脱离文档流,可选值如下: none,默认值,元素默认在文档流中排列...

  • css学习总结

    display 每个元素都有一个显示模式(display),显示模式决定了该元素在文档流中是怎样来显示的。一共有三...

  • CSS学习总结

    学了有一小段时间前端了,今做个CSS的总结! 目录: CSS 简介 CSS 语法 CSS 选择器 CSS 引入方式...

  • CSS学习总结

    CSS是一种通过定义某些样式,可以设置网页元素显示不同的字体、颜色、位置等的语言,被用于描述网页上的信息格式化和现...

  • CSS学习总结

    1. 文档流(normal flow) 1.1 块级元素的宽高 为什么写font-size时,div的高度不是fo...

  • CSS学习总结

    学习如逆水乘舟,不进则退。 ** 前言 ** 前面学习的HTML主要是用来给文本添加语义的,而一个完整的网页要想呈...

  • CSS 学习总结

    CSS 选择器 { 样式 } 选择器:基础选择器(单个选择器物),复合选择器物 基础选择器:标签选择器,类选择器,...

  • CSS学习总结

    一、Flex-弹性盒布局 弹性盒定义了子元素如何在弹性盒中布局。 1. flex-direction ,设置主轴,...

  • CSS学习总结

    浏览器的渲染机制 解析HTML字符串构建DOM树 解析CSS样式,产生CSSOM树 执行js脚本文件,js加载完成...

网友评论

      本文标题:CSS学习总结

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