好玩又酷炫的css3特效

今天复习了CSS3新增属性,并做了一些demo,案例如下,一起学习…

(请忽略兼容性问题和代码顺序规范问题)兼容问题可通过caniuse.com网站查询并加前缀解决

1.鼠标经过图片放大

核心语法:
       img:hover {
    		/*鼠标经过时,大小变为原来1.1倍*/
    		transform:scale(1.1);   
    	}
<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>CSS3 demo1 鼠标经过图片fda</title>
    <style type="text/css">
    	body {
   
    		text-align: center;
    	}
    	img {
   
    		border-radius: 50%;
    		/*过渡效果:0.5s过渡完成全部属性*/
    		/* 属性兼容性查询 caniuse.com */
    		transition: all .5s;
    		-webkit-transition: all .5s;
    		-o-transition: all .5s;
    		cursor: pointer;
    	}
    	img:hover {
   
    		/*鼠标经过时,大小变为原来1.1倍*/
    		transform:scale(1.1);   
    	}
    </style>
</head>
<body>
	<img src="./panda.jpeg"/>
</body>
</html>

2. a标签的动态伪类选择器+input状态选择器

核心语法:
	a:link      未访问的链接的状态
	a:visited   以访问的链接状态
	a:hover     鼠标移动到链接上时的链接状态
	a:active    选定(点击,鼠标按下未松开)时的链接状态
	根据点击链接时,链接状态的变化可知,书写顺序不可变,记忆方法:LoVe HAte
<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>demo2 a标签的动态伪类选择器+input状态选择器</title>
	<style>
		/*a标签的动态伪类选择器*/
		a:link{
   
			color: #666;
		}
		a:visited{
   
			color: #f00;
		}
		a:hover{
   
			color:#000;
		}
		a:active{
   
			color:#0f0;
		}
		/*ui元素状态选择器,用于表单中*/
		input:enabled{
   
			background-color: #0f0;
		}
		input:disabled{
   
			background-color: #f00;
		}
	</style>
</head>
<body>
	<a href="">demo2</a><br>

	<input type="text"><br/>
	<input type="text" disabled>
</body>
</html>

3. 结构伪类选择器

核心语法:
	.demo li:first/last-child    选中 . demo下的第一个/最后一个 li
	.demo li:nth-child($$)     选中 . demo下的第满足$$要求的 li
	.demo li:nth-of-type(3)   选中 . demo下的第三个的 li(此时本例中的<p>元素为第一个元素)
	.demo li:empty               选中 . demo下为空的li标签 
注意:结构中的<p>标签只有在验证.demo li:nth-of-type(3) 时添加,其他时候去掉;验证时按注释的序号一段一段验证
<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>demo3 结构伪类选择器</title>
	<style>
		*{
   
			padding: 0;
			margin: 0;
		}
		.clearfix{
   
			clear: both;
			overflow: auto;
		}
		.demo{
   
			width: 300px;
			margin: 100px auto;
			padding: 10px;
			border: 1px solid #ccc;
		}
		.demo li{
   
			float: left;
			width:20px;
			padding: 2px;
			margin-right: 4px;
			list-style: none;
			border:1px solid #ccc;
		}
		.demo a{
   
			display: block;
			width: 20px;
			height: 20px;
			text-align: center;
			text-decoration: none; 
			border-radius: 10px;
			background-color: #f36;
		}
		/*1、 第一个元素和最后一个元素加相应样式*/
		.demo li:first-child{
   
			background-color: #0f0;
		}
		.demo li:last-child{
   
			background-color: #00f;
		}


		/*2、 奇偶行隔行设置相应样式   :nth-child()*/
		.demo li:nth-child(2n){
        /*偶数行背景色为黄色*/
			background-color: yellow;
		}
		.demo li:nth-child(2n+1){
      /*奇数行背景色为蓝色*/
			background-color: blue;
		}


		/*3、 按要求行数设置样式*/
		.demo li:nth-child(n+5){
   
			background-color: pink;
		}
		.demo li:nth-last-child(3){
     /*选中从后向前数第三个标签并设置样式*/
			background-color: red;
		}


		/*4、 nth-of-type 限制显示的标签只能为li,其他标签不算*/
		.demo li:nth-child(3){
   
			background-color: yellow;
		}
		.demo li:nth-of-type(3){
   
			background-color: #d3a0a3;
		}
		.demo li:last-of-type{
   
			background-color: #0f0;
		}


		/*5、 标签内为空时选中该标签*/
		.demo li:empty{
   
			background-color: #d3a0a3;
		}

	</style>
</head>
<body>
	<div class="demo">
		<ul class="clearfix">
		    <p> 0 </p>
			<li><a href="">1</a></li>
			<li><a href="">2</a></li>
			<li><a href="">3</a></li>
			<li><a href="">4</a></li>
			<li><a href="">5</a></li>
			<li><a href="">6</a></li>
			<li><a href="">7</a></li>
			<li><a href="">8</a></li>
			<li><a href="">9</a></li>
			<li><a href="">10</a></li>
		</ul>
	</div>
</body>
</html>

4、伪元素

核心语法:
	.demo::first-letter    选中文中第一个字
	.demo::first-line      选中文中第一行
	.demo01::before        在选中的元素前面加一个伪元素
	.demo01::after         在选中的元素后面加一个伪元素
<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>demo4 CSS伪元素</title>
	<style>
		.demo{
   
			width: 300px;
			margin: 50px auto;
			padding:10px;
			border:1px solid #ccc;
		}
		/*首字下沉*/
		.demo::first-letter{
   
			float:left;
			font-size: 40px;
			font-weight: bold;			
		}
		/*首行突出显示*/
		.demo::first-line{
   
			color:#f66;
		}
		/*demo01: 伪元素实现结构样式分离*/
		.demo01{
   
			width: 600px;
			margin:10px auto;
			padding:10px;
			color:blue;
			font-size: 40px;
			text-align: center;
			border:1px solid #ccc;
		}
		.demo01::before{
   
			content:url(./timg.jpg);
			display:block;
		}
		.demo01::after{
   
			content:url(./timg1.jpg); /*content属性必须有,可为空*/
			display:block;
		}
	</style>
</head>
<body>
	<div class="demo">
		伪元素:before和:after可以做很多东西,伪元素:before和:after可以做很多东西,伪元素:before和:after可以做很多东西,伪元素:before和:after可以做很多东西,伪元素:before和:after可以做很多东西,伪元素:before和:after可以做很多东西,伪元素:before和:after可以做很多东西,伪元素:before和:after可以做很多东西,伪元素:before和:after可以做很多东西,伪元素:before和:after可以做很多东西,伪元素:before和:after可以做很多东西,伪元素:before和:after可以做很多东西,伪元素:before和:after可以做很多东西,伪元素:before和:after可以做很多东西,伪元素:before和:after可以做很多东西。
	</div>

	<div class="demo01">
		玩转CSS3新特性
	</div>
</body>
</html>

5、圆角border-radius

核心语法:
	border-radius:左上角   右上角   右下角   左下角(左上角开始顺时针方向)
	参数可为 px  和  %形式
<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>demo5 border-radius</title>
	<style>
		.demo{
   
			width: 100px;
			height: 200px;
			margin:50px auto;
			background-color: #f66;
			border: 1px solid #ccc;
			border-radius:100px 0px 0px 100px;
		}
	</style>
</head>
<body>
	<div class="demo">

	</div>
</body>
</html>

6、画三角形

技术核心:伪元素 + 定位 + border的巧妙使用
<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>画三角形</title>
	<style>
		.demo{
   
			position:relative;
			width: 300px;
			height: 25px;
			margin: 50px auto;
			padding:10px;
			color: #fff;
			background-color
  • 3
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值