CSS3新增特性

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;

复制代码
<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>盒子阴影</title>
		<style>
			#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;
			}
		</style>
	</head>
	<body>
	     <div id="box1"></div>
	     <div id="box2"></div>
	     <div id="box3"></div>
	     <div id="box4"></div>
	</body>
</html>

新增不透明度

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- 前缀。

复制代码
<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>盒子阴影</title>
		<style>
		   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;
		   }

		</style>
	</head>
	<body>
	    <div>
	    	Merry Christmas
	    </div>
	</body>
</html>

background-origin

作用: 设置背景图的原点

语法

  1. padding-box:从 padding 区域开始显示背景图像。-- 默认值
  2. border-box 从 border 区域开始显示背景图像.
  3. 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。

  1. 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表示没有阴影

复制代码
<head>
		<meta charset="UTF-8">
		<title>盒子阴影</title>
		<style>
		span{
			font-size:90px;
			color:orange;
			text-shadow:10px 4px 8px yellow;
		}
		</style>
	</head>
	<body>
		<span>你好</span>
	    
	</body>

文本换行

在 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 值

复制代码
<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>盒子阴影</title>
		<style>
		 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;}

		</style>
	</head>
	<body>
		<ul>
			<li>焦点访谈: 隐形冠军 匠心打造 分毫必争</li>
			<li>我,嫁到日本才发现,女性活得真憋屈,体毛不能有,放屁也不自由</li>
			<li>高洪波无缘!足协盟主热门人选曝光,3选1,冷门人物或成黑马杀出</li>
			<li>《狂飙》爆火以后"疯驴子"被骂上热搜: 跪着赚钱丢人吗</li>
		</ul>
	    
	</body>
</html>

文本修饰

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 : 复合属性,设置文字描边宽度和颜色

复制代码
<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>盒子阴影</title>
		<style>
		  span{
		  	-webkit-text-stroke-width: 3px;
		  	-webkit-text-stroke-color: cornflowerblue;
		  	font-size:90px;
		  	color:orange;
		  }
		</style>
	</head>
	<body>
	    <span>Merry Christmas</span>
	</body>
</html>
相关推荐
崔庆才丨静觅4 小时前
hCaptcha 验证码图像识别 API 对接教程
前端
passerby60615 小时前
完成前端时间处理的另一块版图
前端·github·web components
掘了5 小时前
「2025 年终总结」在所有失去的人中,我最怀念我自己
前端·后端·年终总结
崔庆才丨静觅5 小时前
实用免费的 Short URL 短链接 API 对接说明
前端
崔庆才丨静觅6 小时前
5分钟快速搭建 AI 平台并用它赚钱!
前端
崔庆才丨静觅6 小时前
比官方便宜一半以上!Midjourney API 申请及使用
前端
Moment6 小时前
富文本编辑器在 AI 时代为什么这么受欢迎
前端·javascript·后端
崔庆才丨静觅6 小时前
刷屏全网的“nano-banana”API接入指南!0.1元/张量产高清创意图,开发者必藏
前端
剪刀石头布啊6 小时前
jwt介绍
前端
爱敲代码的小鱼6 小时前
AJAX(异步交互的技术来实现从服务端中获取数据):
前端·javascript·ajax