CSS3
CSS3私有前缀
W3C 标准所提出的某个CSS 特性,在被浏览器正式支持之前,浏览器厂商会根据浏览器的内核,使用私有前缀来测试该 CSS 特性,在浏览器正式支持该 CSS 特性后,就不需要私有前缀了。
查询 CSS3 兼容性的网站: Can I use… Support tables for HTML5, CSS3, etc
常见浏览器私有前缀
Chrome 浏览器:-webkit-
Safari 浏览器:-webkit-
Firefox 浏览器: -moz-
Edge 浏览器: -webkit-。
旧 Opera 浏览器: -o-
旧 IE 浏览器: -ms-
注意:
我们在编码时,不用过于关注浏览器私有前缀,不用绞尽脑汁的去记忆,也不用每个都去查询,因为常用的CSS3 新特性,主流浏览器都是支持的,即便是为了老浏览器而加前缀,我们也可以借助现代的构建工具,去帮我们添加私有前缀。
CSS3 新增长度单位
1. rem 根元素字体大小的倍数,只与根元素字体大小有关
2. vw 视口宽度的百分之多少 10vw 就是视口宽度的 10%。
3. vh 视口高度的百分之多少 10vh 就是视口高度的 10%。
4.vmax 视口宽高中大的那个的百分之多少。 (了解即可)
5.vmin 视口宽高中小的那个的百分之多少。(了解即可)
CSS3 新增颜色设置方式
CSS3 新增了三种颜色设置方式,分别是: rgba、 hsl、 hsla
css3新增盒子属性
box-sizing怪异盒模型
content-box width 和 height 设置的是盒子内容区的大小。 (默认值)
border-box width 和 height 设置的是盒子总大小。 (怪异盒模型)
resize调整盒子大小(必须和overflow配合起来使用)
none不允许用户调整元素大小。(默认)
both用户可以调节元素的宽度和高度
horizontal用户可以调节元素的宽度
vertical用户可以调节元素的高度
box-shadow盒子阴影
语法:
box-shadow: h-shadow v-shadow blur spread color inset;
h-shadow水平阴影的位置,必须填写,可以为负值
V-shadow垂直阴影的位置,必须填写,可以为负值
blur可选,模糊距离
spread可选,阴影的外延值
color可选,阴影的颜色
inset可选,将外部阴影改为内部阴影
默认值: box-shadow:none 表示没有阴影
/* 写两个值,含义:水平位置、垂直位置 */
box-shadow: 10px 10px;
/* 写三个值,含义:水平位置、垂直位置、颜色 */
box-shadow: 10px 10px red;
/* 写三个值,含义:水平位置、垂直位置、模糊值 */
box-shadow:10px 10px 10px;
/* 写四个值,含义:水平位置、垂直位置、模糊值、颜色 */
box-shadow:10px 10px 10px red;
/* 写五个值,含义:水平位置、垂直位置、模糊值、外延值、颜色 */
box-shadow: 10px 10px 10px 10px blue;
/* 写六个值,含义:水平位置、垂直位置、模糊值、外延值、颜色、内阴影 */
box-shadow: 10px 10px 20px 3px blue inset;
盒子阴影 #box1{width:100px;height:68px;box-shadow:10px 10px 12px 2px blue;}#box2{margin-top:30px;width:100px;height:68px;border:3px solid greenyellow;/*轮廓线*/outline-offset:3px;outline:5px solid cornflowerblue;}#box3{margin-top:30px;width:100px;height:68px;background-image:url(img/1.png);}#box4{margin-top:30px;width:100px;height:68px;background-image:url(img/1.png);opacity: 0.3;}
新增不透明度
opacity 属性能为整个元素添加透明效果,值是0到1之间的小数, 0是完全明,1表示完全不透明。
opacity 与 rgba 的区别” />opacity 是一个属性,设置的是整个元素 (包括元素里的内容)的不诱明度,rgba 是颜色的设置方式,用于设置颜色,它的透明度,仅仅是调整颜色的透明度
新增背景属性
background-clip
作用: 设置背景图的向外裁剪的区域。
语法.
1. border-box : 从 border 区域开始向外裁剪背景。– 默认值
2. padding-box : 从 padding 区域开始向外裁剪背景。
3content-box :从 content 区域开始向外裁剪背景
text : 背景图只呈现在文字上。
而且文字需要设置为透明的
注意:若值为 text ,那么 backgroun-clip 要加上 -webkit- 前缀。
盒子阴影 div{ width:1000px; height:600px;/*设置div中的内容水平垂直居中的最简单的方法*/ display: flex; justify-content: center; align-items: center;/*设置div在页面水平垂直居中*/position:absolute; top:0; bottom:0; left:0; right:0; margin:auto; background-image: url(img/src=http___safe-img.xhscdn.com_bw1_9718ddea-fa87-4e90-a680-514867e7f696_imageView2_2_w_1080_format_jpg&refer=http___safe-img.xhscdn.webp);font:italic bold 90px "times new roman",serif;/*设置文字为透明的*/ color:transparent; -webkit-background-clip:text; }Merry Christmas
background-origin
作用: 设置背景图的原点
语法
- padding-box:从 padding 区域开始显示背景图像。– 默认值
- border-box 从 border 区域开始显示背景图像.
- content-box : 从 content 区域开始显示背景图像。
background-size
作用:设置背景图的尺寸
语法:
1.用长度值指定背景图片大小,不允许负值。
background-size: 300px 200px;
2.用百分比指定背景图片大小不允许负值。
background-size: 100% 100%;
3.auto :背景图片的真实——默认值
4.contain: 将背景图片等比缩放,使背景图片的宽或高,与容器的宽或高相等再将完整背景图片包含在容器内,但要注意:可能会造成容器里部分区域没有背景图片。
background-size: contain;
5.cover:将背景图片等比缩放,直到完全覆盖容器,图片会尽可能全的显示在元素上,但要注意: 背景5图片有可能显示不完整。– 相对比较好的选择
background-size: cover;
backgorund 复合属性
语法:
background: color url repeat position / size origin clip
注意:
1.origin 和 clip 的值如果一样,如果只写一个值,则origin 和 clip 都设置;如果设置了两个
值,前面的是 origin ,后面的 clip。
- size 的值必须写在 position 值的后面,并且用 / 分开
CSS3 允许元素设置多个背景图片
/* 添加多个背景图 */
background: ur1(../images/bg-lt.png) no-repeat
ur1( ../images/bg-rt.png) no-repeat right top,
ur1( ../images/bg-lb .png) no-repeat left bottom,
url(../images/bg-rb.png) no-repeat right bottom;
background-image只能写背景图,而且后面不能写属性那些
边框圆角
在 CSS3 中,使用 border-radius 属性可以将盒子变为圆角
同时设置四个角的圆角:
border-radius :10px;
分开设置每个角的角 (几乎不用)
一个值是正圆半径
两个值分别是圆的 x 半径、y 半
border-top-left-radius设置左上角圆角半径:
border-top-right-radius设置右上角圆角半径
border-bottom-right-radius设置右下角圆角半径
border-bottom-left-radius设置左下角圆角半径
分开设置每个角的圆角,综合写法 (几乎不用) :
border-raidus: 左上角x 右上角X 右下角X 左下角x / 左上y 右上y 右下y 左下y
边框外轮廓 (了解)
外轮廓的宽度outline-width :
外轮廓的颜色outline-color
外轮廓的风格outline-style
none : 无轮廓
dotted : 点状轮廓
dashed : 虚线轮廓
solid : 实线轮廓0
double : 双线轮廓
outline-offset 设置外轮廓与边框的距离,正负值都可以设置
注意: outline-offset 不是 outline 的子属性,是一个独立的属性.
outline 复合属性
outline:50px solid blue;
outline不计算宽度不占位
CSS3新增文本属性
7.1文本阴影
在 CSS3 中,我们可以使用 text-shadow 属性给文本添加阴影
语法:text-shadow: h-shadow v-shadow blur color;
h-shadow必需写,水平阴影的位置。允许负值。
V-shadow必需写,垂直阴影的位置。允许负值。
blur可选,模糊的距离
color可选,阴影的颜色
默认值: text-shadow:none表示没有阴影
盒子阴影 span{font-size:90px;color:orange;text-shadow:10px 4px 8px yellow;}你好
文本换行
在 CSS3 中,我们可以使用 white-space 属性设置文本换行方式
常用值如下:
normal文本超出边界自动换行,文本中的换行被浏览器识别为一个空格。(默认值)
pre原样输出,与 pre 标签的效果相同。
pre-wrap在 pre 效果的基础上,超出元素边界自动换行
pre-line在 pre 效果的基础上,超出元素边界自动换行,且只识别文本中的换行,空格会忽略.
nowrap强制不换行
文本溢出
在 CSS3 中,我们可以使用 text-overflow 属性设置文本内容溢出时的呈现模式。
常用值如下:
clip当内联内容溢出时,将溢出部分裁切掉。(默认值)
ellipsis当内联内容溢出块容器时,将溢出部分替换为 …。
注意: 要使得 text-overflow 属性生效,块容器必须显式定义 overflow 为非 visible 值white-space 为 nowrap 值
盒子阴影 ul {width: 400px;height: 400px;border: 1px solid black;font-size: 20px;list-style: none;padding-left:0;padding: 10px;} li {margin-bottom: 10px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis;}- 焦点访谈: 隐形冠军 匠心打造 分毫必争
- 我,嫁到日本才发现,女性活得真憋屈,体毛不能有,放屁也不自由
- 高洪波无缘!足协盟主热门人选曝光,3选1,冷门人物或成黑马杀出
- 《狂飙》爆火以后“疯驴子”被骂上热搜: 跪着赚钱丢人吗
文本修饰
CSS3 升级了 text-decoration 属性,让其变成了复合属性
text-decoration: text-decoration-line ||text-decoration-style ||text-decoration-color
子属性及其含义:
text-decoration-line 设置文本装饰线的位置
none : 指定文字无装饰 (默认值)
underline : 指定文字的装饰是下划线
overline : 指定文字的装饰是上划线
line-through : 指定文字的装饰是贯穿线
text-decoration-style 文本装饰线条的形状
solid :实线(默认)
double : 双线
dotted :点状线条
dashed :虚线
wavy : 波浪线
text-decoration-color 文本装饰线条的颜色
文本描边
注意:文字描边功能仅webkit内核浏览器支持
-webkit-text-stroke-width : 设置文字描边的宽度,写长度值。
-webkit-text-stroke-color : 设置文字描边的颜色,写颜色值
-webkit-text-stroke : 复合属性,设置文字描边宽度和颜色
盒子阴影 span{-webkit-text-stroke-width: 3px;-webkit-text-stroke-color: cornflowerblue;font-size:90px;color:orange;}Merry Christmas