欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

CSS3重点知识总结(1)

程序员文章站 2022-05-11 09:06:33
...

一、选择器和盒模型

1.属性选择器

  • E[attr]:查找指定的拥有attr属性的E标签
  • E[attr=value]:查找拥有指定的Attr属性并且属性值为value的E标签,=是严格匹配
  • E[attr*=value]:查找拥有指定的attr属性并且属性值中包含(可以在任意位置)value的E标签
  • E[attr^=value]:查找拥有指定的attr属性并且属性值以value开头的E标签
  • E[attr$=value]:查找拥有指定的attr属性并且属性值以value结束的E标签

2.兄弟选择器

  • .first + li{}:查找添加了.first样式的标签的相邻的下一个li元素,必须是指定类型的元素,如果下一个元素不是li则无效
  • .first ~ li{}:查找添加了.first样式的元素后面的所有兄弟li元素

3.伪类选择器

  • E:first-child:查找E元素的父级元素中的第一个E元素。如果第一个元素不是E,则设置无效
  • E:last-child:同上
  • E:first-of-type:在查找的时候只会查找满足类型条件的元素,过渡掉其它类型的元素
  • E:last-of-type:同上
  • E:nth-of-type(n):指定索引位置,当n=1时,为第一个元素。n取值范围为0~子元素的长度。但是当n<=0时,选取无效
  • E:target:可以为锚点目标元素添加样式,当目标元素被触发为当前锚链接的目标时,调用此伪类样式
  • p::first-letter:获取第一个字符
  • p::first-line:获取第一行内容
  • p::selection:设置当前选中内容的样式,它只能设置显示的样式,而不能设置内容大小
  • before和after:必须添加content属性,否则后期不可见,默认是行级元素,如果想设置宽高,就必须转换为块级元素

4.字体效果

  • css3可以直接使用text-shadow属性来指定阴影。这个属性可以有两个作用,产生阴影和模糊主体。这样在不使用图片时能给文字增加质感
  • 用法:text-shadow:offsetX offsetY blur color;
  • 前两个属性是偏移值,blur是模糊值(模糊的程度),color是阴影的颜色
  • 例:text-shadow: -2px -2px 5px red;
  • 多层阴影效果:text-shadow: 0px 0px 30px #fff,0px 0px 50px red,0px 0px 70px #fff;
  • 浮雕立体效果:text-shadow: -1px -1px 0px #eee,-2px -2px 0px #ddd,-3px -3px 0px #ccc;

5.盒模型

  • 在默认情况下,CSS设置的盒子宽度仅仅是内容区的宽度,而非盒子的宽度。同样,高度类似。真正盒子的宽度(在页面呈现出来的宽度)和高度,需要加上 padding + border + width。
  • 设置属性box-sizing:border-box,对象的实际宽度就等于设置的width值

6.边框阴影

  • box-shadow:h v blur spread color inset;
  • h:水平方向的偏移值
  • v:垂直方向的偏移值
  • blur:模糊–可选,默认0
  • spread:阴影的尺寸,扩展和收缩阴影的大小–可选 默认0
  • color:颜色–可选,默认黑色
  • inset:内阴影–可选,默认是外阴影

二、渐变和过渡

1.渐变:渐变产生的是图像,所以需要使用background

  • 线性渐变:linear-gradient(方向,开始颜色 位置,颜色2 位置,颜色3 位置…);
            /*方向:
            to top:0deg
            to right:90deg
            to bottom:180deg --默认值
            to left:270deg*/
            
            /*background: linear-gradient(to right,red,blue);*/
            background: linear-gradient(to right,red 0%,red 50%,blue 80%,blue 100%);
  • 径向渐变:background: radial-gradient(形状 大小 坐标,颜色1,颜色2…);
            形状shape:circle:产生正方形的渐变色   ellipse:适配当前的形状,如果是正方形的容器,两者效果一样.如果宽高不一样,默认效果切换到ellipse
            at position:坐标,默认在正中心。可以赋值坐标(参照元素的左上角),也可以赋值关键字(left center right top bottom)
            大小size: closest-side:最近边; farthest-side:最远边; closest-corner:最近角; farthest-corner:最远角。默认是最远的角farthest-corner*/
            /*background: radial-gradient(circle,red,blue);*/
            /*background: radial-gradient(circle farthest-side at 50px 50px,red,blue);*/
            background: radial-gradient(at 10px 10px,red,blue);
  • 重复渐变:
/*径向渐变重复*/
background: repeating-radial-gradient(
            #fff 0%,#fff 10%,
            #000 10%,#000 20%);
/*线性渐变重复*/
background: repeating-linear-gradient(45deg,
            #fff 0%,#fff 10%,
            #000 10%,#000 20%);

2.背景样式

  • 背景平铺:background-repeat
            /*3.设置背景平铺
            round:会将图片进行缩放之后再平铺
            space:图片不会缩放平铺,只是会在图片之间产生相同的间距值*/
            background-repeat: space;
  • 背景是否滚动:background-attachment
            /*4.设置在滚动容器的背景的行为:跟随滚动/固定
            fixed:背景图片的位置固定不变
            scroll:当滚动容器的时候,背景图片也会跟随滚动*/

            /*local和scroll的区别:前提是滚动当前容器的内容
            local:背景图片会跟随内容一起滚动
            scroll:背景图片不会跟随内容一起滚动*/
            background-attachment: fixed;
  • 背景大小:background-size
/*contain:按比例调整图片大小,使用图片宽高自适应整个元素的背景区域,使图片全部包含在容器内
1.图片大于容器:有可能造成容器的空白区域,将图片缩小
2.图片小于容器:有可能造成容器的空白区域,将图片放大*/
/*background-size: contain;*/

/*cover:与contain刚好相反,背景图片会按比例缩放自 适应整个背景区域,如果背景区域不足以包含所有背景图片,图片内容会溢出
1.图片大于容器:等比例缩小,会填满整个背景区域,有可能造成图片的某些区域不可见
2.图片小于容器:等比例放大,填满整个背景区域,图片有可能造成某个方向上内容的溢出*/
background-size: contain;
  • 提升移动端响应区域的大小,用到的样式:background-origin,background-clip
            /*设置背景坐标的原点
            border-box:从border的位置开始填充背景,会与border重叠
            padding-box:从padding的位置开始填充背景,会与padding重叠
            content-box:从内容的位置开始填充背景*/
            background-origin: content-box;
            /*设置内容的裁切:设置的是裁切,控制的是从哪里显示
            border-box:其实是显示border及以内的内容
            padding-box:其实是显示padding及以内的内容
            content-box:其实是显示content及以内的内容*/
            background-clip: content-box;

3.过渡

  • 语法:
            /*添加过渡效果:过渡效果执行完毕之后,默认会还原到原始状态*/
            /*1.transition-property:添加过渡效果的样式属性名称*/
            transition-property: left;
            /*2.transition-duration:过渡效果的耗时 以秒做为单位*/
            transition-duration: 2s;
            /*3.transition-timing-function:设置时间函数--控制运动的速度*/
            transition-timing-function: linear;
            /*4.transition-delay:过渡效果的延迟*/
            transition-delay: 2s;

			/*简写 transition:属性名称 过渡时间  时间函数  延迟*/
			transition: left 2s linear 0s;

			/*为多个样式同时添加过渡效果*/
            transition: left 2s linear 0s,background-color 5s linear 0s;
相关标签: CCS3