CSS三大样式

CSS三大样式

一、盒子模型

border 边框

box-sizing:固定盒子大小

box-sizing:border-box;

border-style:(可以设置单独上下左右的样式)
  1. botted 点线

  2. dashed 虚线

  3. solid 实线

  4. double 双线,两个边界,宽度和border-width的值相同

  5. groove 3D沟槽边界,效果取决于边界颜色值

  6. rigde 定义3D脊边界,效果取决于边界的颜色值

  7. inset 定义一个3D的嵌入边框,效果取决于边界的颜色值

  8. outset 定义一个3D的突出边框,效果取决于边界的颜色值

简写方法:border:width style color;

css3的边框样式:
border-color 边框颜色

border-color:transparent; 透明边框

border-image 边框图片

border-image-source:指定border的背景图的url

border-image-slice:设置图片如何切割的属性,非定位

border-image-slice:上 下 左 右

border-image-width:定义border-image的显示区域

border-image-repeat:repeat有三个值选择。

stretch|repeat|round:拉伸|重复|平铺,其中stretch是默认值

box-shadow:阴影效果 书本P19

box-shadow:x轴偏移量 | y轴偏移量 | 阴影模糊半径 | 阴影扩展半径 | 阴影颜色 | 投影方式

border-radius: 圆角边框

border-radius:1~4 length |% / 1~4 length |%;

  1. 1~4:设置1~4个值

  2. length:设置对象的圆角半径长度,不可以是负值。

  3. |%表示可以写成百分比

  4. “/”前有值,表示水平半径;后有值,表示垂直半径。后无值,表示水平半径和垂直半径相等。

margin 外边距

margin: 0 auto; 水平居中

margin:上 下 左 右;

padding 内边距

padding:上 下 左 右;

二、浮动

利用浮动将多个<div>放置在同一行

解决高度坍塌的办法:

  1. 清除浮动:clear

    给父元素内部添加一个空的<div>元素,设置:clear:both

    描述
    left 在左侧不允许浮动
    right 在后侧不允许浮动
    both 在左右两侧均不允许浮动元素
    none 默认值。允许浮动元素出现在两侧。
    inherit 规定应该从父元素继承clear属性的值
  2. 利用伪类::after

    利用伪类::after来清除浮动,跟跟上面的添加一个空元素来解决浮动是差不多的意思,但是不会凭空添加无意义元素,而是通过伪类的方式。

    例:在父元素(.container)中直接添加css样式(.clearfix)

        <div class="container clearfix">
           <div class="item">1</div>
           <div class="item">2</div>
           <div class="item">3</div>
       </div>

    解决高度坍塌代码(万能代码,直接拿去用就好)

    .container::after {
      content: "";
      display: block;
      clear: both;
    }

三、定位

主要目的:移动位置

定位模式是否脱标占位置是否可以边偏移移动位置基准
静态定位 static 不脱标,正常模式 不可以 正常模式
相对定位 revative 不脱标,占有位置 可以 相对于自身位置的移动
绝对定位 absolute 完全脱标,不占有位置 可以 相对于定位父级移动位置
固定定位 fixed 完全脱标 可以 相对于浏览器移动位置
粘滞定位 sticky      

相对定位 relative

相对定位的特点: 1.元素开启相对定位以后 如果不设置偏移量(offset) 元素不会发生任何变化 通过偏移量设置元素的位置: top:定位元素和定位位置上边的距离 bottom:定位元素和定位位置下边的距离 left:定位元素和定位位置左边的距离 right:定位元素和定位位置右边的距离 2.相对定位是参照与元素在文档流中的位置进行定位的 3.相对定位会提升元素的层级 4.相对定位不会使元素脱离文档流 5.相对定位不会改变元素的性质 块还是块 行内还是行内

绝对定位 absolute

绝对定位特点: 1.开启绝对定位后 如果不设置偏移量 元素位置不会发生变化 2.开启绝对定位后 元素会从文档流中脱离 3.绝对定位会改变元素的性质,行内变成块,块的宽高被内容撑开 4.绝对定位会使元素提升层级 5.绝对定位是相对于其包含块进行定位的

包含块(containing block): 正常情况下包含块就是离当前元素最近的祖先块元素

绝对定位的包含块:

离它最近的开启定位的祖先元素 如果所有的祖先元素都没有开启定位 则相对于根元素进行定位 html(根元素,初始包含块)

固定定位 fixed

  1. 固定定位也是一种绝对定位 所以固定定位的大部分特点和绝对定位一样

  2. 唯一不同的是 固定定位永远参照于浏览器的视口(浏览器可视窗口)进行定位

  3. 固定定位的元素不会随滚动条滚动上去 而是跟随可视窗口的移动而移动

粘滞定位 sticky

  1. 粘滞定位的特点和相对定位基本一样

  2. 粘滞定位可以在元素到达某个位置时固定

元素层级

  1. 对于开启定位的元素,可以通过z-index属性来指定元素的层级

  2. z-index需要一个整数作为参数,值越大的元素的层级越高

  3. 元素层级越高的越优先显示

  4. 如果元素层级一样 则优先显示靠下的

  5. 祖先元素层级再高,不会盖住后代元素

posted @ 2021-10-30 12:44  东八区  阅读(227)  评论(0)    收藏  举报