CSS3基础

一、CSS3盒子模型

1.box-sizing

  • 定义盒子模型的尺寸解析方式
  • 值:
    • content-box(默认)盒子没变化
    • border-box:盒子变小了(width,height是整个盒子的大小,不受padding,border的影响)

2.resize

  • 是否允许用户缩放,调节元素尺寸大小(设置overflow:hidden;才有效)
  • 值:
    • none:不允许用户调整元素大小
    • both:用户可以调节元素的宽度和高度
    • horizontal:只能调节元素的宽度
    • vertical:只能调节元素的高度

3.outline

  • 给元素周围绘制一条轮廓线(不占用任何地方)像元素发出的光。
  • 类似border
    • 设置outline:none可取消文本框的样式
    • outline-width(外轮廓宽度)
      • 长度值(不允许负值)
      • medium:定义默认宽度的轮廓
      • thin:定义比默认宽度细的轮廓
      • thick:定义比默认宽度粗的轮廓
    • outline-style(外轮廓风格)
    • outline-color(外轮廓颜色)
    • outline-offset(外轮廓的偏移量)
      • 即:外轮廓距离border的距离,默认0px;这个属性需要单独写
      • 其它三个属性可以综合outline:宽度 形状 颜色(顺序不要求)

4.display

  • 盒子是否以及如何显示

  • none:隐藏对象,与visibility属性的hidden值不同,其不为被隐藏的对象保留其物理空间

  • inline:内联元素

  • block:块元素

  • inline-block:内联块元素

  • list-item:指定对象为列表项目(类似ul,ol,li)

  • table:类似(table)

  • inline-table:指定对象为内联元素的表格(类似table)

  • table-caption:表格标题(类似caption)

  • table-cell:单元格(类似td)

  • table-row:表格行(类似tr)

  • table-row-group:表格行组(类似tbody)

  • table-column:表格列。类似(col)

  • table-column-group:表格列组显示(类似colgroup)

  • table-header-group:表格标题组(类似thead)

  • table-footer-group:表格脚注组。类似(tfoot)

  • run-in:根据上下文决定对象是内联对象还是块级对象

  • box:将对象作为弹性伸缩盒显示(伸缩盒最老版本)(CSS3)

  • inline-box:将对象作为内联块级弹性伸缩盒显示(伸缩盒最老版本)(CSS3)

  • flexbox:将对象作为弹性伸缩盒显示(伸缩盒过渡版本)(CSS3)

  • inline-flexbox:将对象作为内联块级弹性伸缩盒显示(伸缩盒过渡版本)(CSS3)

  • flex:将对象作为弹性伸缩盒显示(伸缩盒最新版本)(CSS3)

  • inline-flex:将对象作为内联块级弹性伸缩盒显示(伸缩盒最新版本)(CSS3)

二、CSS3长度单位

1.相对长度单位

  • ex:相对于字符'x'的高度。通常为字体高度的一半
  • ch:数字‘0’的宽度
  • rem:相对于根元素(html)font-size计算值的倍数
  • vm:相对于视口的宽度。视口被均分为100单位的vw
  • vh:相对于视口的高度。视口被均分为100单位的vh
  • vmax:相对于视口的宽度或高度中较大的。视口被均分为100单位的vw
  • vmin:相对于视口的宽度或高度中较小的。视口被均分为100单位的vw
  • px:像素
  • em:相对于当前对象内文本的字体尺寸

2.绝对长度单位

  • cm
  • mm
  • q:1/4毫米
  • in:英寸
  • pt:点
  • pc:派卡,相当于我国新四号铅字的尺寸

三、CSS3颜色

1.透明

  • opacity
    • 检索或设置对象的不透明度
    • 对于不支持该属性的IE浏览器可以使用私有的滤镜属性来实线与opacity相同的效果
    • IE兼容filter:alpha(opacity="透明值(0~1)")
    • 整个元素都会透明,包括背景和字
    • 让字不透明:定位或浮动:使写文字的元素(父元素)脱离文档流

2.CSS3颜色模式

  • RGB
  • RGBA:背景透明但是字不会透明
  • HEX:十六进制
  • ColorName(单词)
  • HSL
    • H:色调(值0~360),0表示红色,120表示绿色,240表示蓝色
    • S:饱和度(值0.0%~100.0%)
    • L:l亮度(值0%~100%)
  • HSLA
  • transform透明
  • curentColor当前颜色

四、CSS3渐变

1.渐变简介

  • 渐变相当于背景图片

2.线性渐变

  • linear-gradient(角度/to 方向,颜色1 位置1,颜色2 位置2...)

  • 角度指定渐变方向

    • to left:设置渐变为从右向左。相当于270deg
    • to right:从左到右。相当于90deg
    • to top:从上到下。相当于0deg
    • to bottom:从上到下。相当于180deg
  • 指定渐变的起止颜色

    • 指定颜色

    • 用长度值指定起止色位置。不允许负值

    • 用百分比指定起止位置

        例如
        .box04{
        	background:linear-gradient(to bottom, red, green);
        }
      
        .box05{
        	background:linear-gradient(90deg, red 50px, purple 200px);
        }
      
        .box06{
        	background:linear-gradient(90deg, red 10%, purple 90%);
        }
      

3.径向渐变

  • radial-gradient(圆的类型 圆的大小 圆心位置,颜色1 颜色起位置,...,颜色n 颜色结束位置)

  • 圆的类型

    • circle(圆形)
    • ellipse(椭圆)
  • 圆的大小

    • circle|ellipse都接受该值作为size

      • closest-side:半径长度为从圆心到离圆心最近的边
      • closest-corner:半径长度为从圆心到离圆心最近的角
      • farthest-side:半径长度为从圆心到离圆心最远的边
      • farthest-corder:半径长度为从圆心到离圆心最远的角
    • circle接受该值为size

      • length:用长度指定正圆径向渐变的半径长度,不允许负值
    • ellipse接受该值为size

      • length:用长度值指定椭圆径向渐变的横向或纵向半径长度,不允许负值
      • percentage:用百分比指定椭圆径向渐变的横向或纵向半径长度
  • 圆心位置

    • 如果提供两个参数:第一个是横坐标,第二个是纵坐标
    • 如果只提供一个,第二个默认为50%,即center
    • percentage:用百分比指定径向渐变圆心的横、纵坐标值(可以为负值)
    • length:用长度指定径向渐变的横坐标(允许负值)
    • left:设置左边为径向渐变圆心的横坐标
    • center:设置中间为径向渐变圆心的横坐标
    • right:设置右边为径向渐变圆心的横坐标
    • top:设置顶部为径向渐变圆心的纵坐标
    • center:设置中间为径向渐变圆心的纵坐标
    • bottom:设置底部为径向渐变圆心的纵坐标
  • 渐变起止颜色

    • color:指定颜色

    • length:用长度表示起止色位置(不允许负值)

    • percentage:用百分比指定起止色位置(不允许负值)

        	.box02{
        		background:radial-gradient(circle 100px at left top, red, purple);
        	}
        	.box03{
        		background:radial-gradient(circle 100px at 10px 50px, red, purple);
        	}
      
        	.box04{
        		background:radial-gradient(at 50% 50%, red, purple);
        	}
      
        	.box04{
        		background:radial-gradient(circle at 50% 50%, red, purple);
        	}
        	.box08{
        		background:radial-gradient(circle farthest-corner at 50% 50%, red, purple);
        	}
      
      
        	.box09{
        		background:radial-gradient(ellipse 100px 50px at 50% 50%, red, green);
        	}
      

4.重复渐变

  • repeating-linear-gradient()

  • repeating-radial-gradient()

      background:repeating-linear-gradient(180deg, #fff 0px, #fff 29px, #999 30px);
    

5.低版本IE对渐变的兼容

  • 滤镜
  • filter:progid:DXImageTransform.Microsoft.Gradient(GradientType=0,startColorStr=orange,endColorStr=green)

五、CSS3属性私有前缀

IE浏览器      -ms-
firefox      -moz-
chrome      -webkit-
Safari      -webkit
opera         -o-
原文地址:https://www.cnblogs.com/1666818961-lxj/p/7277076.html