css布局,伪类选择器练习

css伪类选择器练习

为了熟练掌握css各种选择器,还是需要多加练习
完成以下布局:
在这里插入图片描述

要求:掌握好类名的使用,伪类选择器使用正确,并活用以学习的标签及标签特性。
分析:此次练习中出现大量的a标签(均需要a标签的伪类选择器),但是可以设置同一个类名(css的好处)并且最下方可以使用自定义列表(<dl></dl><dt></dt><dd></dd>
代码实现:
html部分

<!doctype html>
<html>
	<head>
		<meta charset="utf-8">
		<title>伪类选择器练习</title>
		<link rel="stylesheet" type="text/css" href="./dangdangwang.css">
	</head>
	<body>
		<div id="a1">
			<p class="p1"><a href="#" class="a1">当当</a><a href="#" class="a2">官网-正品低价品质保证!</a><a  class="a3">&nbsp;官方&nbsp;</a></p>
			<div class="div1">
				<a href="#"><img src="./tu1.png" alt="???"></a>
				<div class="div2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;【当当】全球知名的综合性网上购物商城,千万商品,品质保证,涵盖<a href="#"class="a2">图书、</a><a href="#"class="a2">童书、</a><a href="#"class="a2">电子书、</a>听书、<a href="#"class="a2">服装、</a><a href="#"class="a2">百货</a>等品类,全场2.9折起!提供货到付款和多种线上支付方式,上门退货、当面退款,100%正品保障,专业配送及售后服务!为顾客提供网上购物的高品质体验!<br/><span class="span1">www.dangdang.com2020-10 </span><span class="span2">&nbsp;&nbsp;</span> - <span class="span3"><a class="a2">品牌广告</a></span></div>
			</div>
			<p class="p2"><a href="#"class="a2">百万图书每满100减50</a></p>
			<p class="p2"><a href="#"class="a2">电子书开门红每满30减15</a></p>
			<div class="div3">
			<!-- 思路:设一个大盒子把自定义列表装进去,但是需要margin自定义列表的边距改掉 -->
				<div class="div4">
					<dl>
						<dd class="dd1">&nbsp;热门分类</dd>
						<!-- 这里用到了边框设置下边框 border-bottom:solid 1px #000 -->
						<dd class="dd2"><a href="#" class="a2">励志图书</a></dd>
						<dd class="dd2"><a href="#" class="a2">经济管理</a></dd>
						<dd class="dd2"><a href="#" class="a2">教育图书</a></dd>
					</dl>
				</div>
				<div class="div4">
					<dl>
						<dd class="dd1">&nbsp;图书榜单</dd>
						<dd class="dd2"><a href="#" class="a2">畅销总榜</a></dd>
						<dd class="dd2"><a href="#" class="a2">新书榜单</a></dd>
						<dd class="dd2"><a href="#" class="a2">童书榜</a></dd>
					</dl>
				</div>
				<div class="div4">
					<dl>
						<dd class="dd1">&nbsp;新书推荐</dd>
						<dd class="dd2"><a href="#" class="a2">10月童书新书速递</a></dd>
						<dd class="dd2"><a href="#" class="a2">人气文艺新书榜</a></dd>
						<dd class="dd2"><a href="#" class="a2">社科</a></dd>
					</dl>
				</div>
				<div class="div4">
					<dl>
						<dd class="dd1">&nbsp;电子书</dd>
						<dd class="dd2"><a href="#" class="a2">电子书每满30减15</a></dd>
						<dd class="dd2"><a href="#" class="a2">项塔兰</a></dd>
						<dd class="dd2"><a href="#" class="a2">网络文学</a></dd>
					</dl>
				</div>
			</div>
		</div>
	</body>
</html>

css部分

#a1{
	width:538px;
	height:318px;
	border-top:solid 1px #e3e3e3;
	border-right:solid 1px #e3e3e3;
	margin:30px auto 0;
	background-color:#fff8f9;
}
.p1{
	font-size:18px;
	line-height:18px;
	margin:7px auto 0;
}
.a1{
	color:red;
	margin:0 0 0 15px;
}
.a3{
	background-color:#2196ff;
	font-size:12px;
	color:#fff;
	margin:0 0 0 10px;
}
.a2:link{
	color:#2440b3;
}
.a2:visited{
	color:#873e9e;
}
.a2:hover{
	color:#87cca2;
}
.a2:active{
	color:#cc6666;
}
.div1{
	width:538px;
	height:130px;
	margin:6px auto 0;
}
.a3:hover{
	background-color:#2185dd;
}
img{
	margin:4px 0 0 9px;
	width:121px;
	height:121px;
	float:left;
}
.div2{
	width:395px;
	height:130px;
	float:left;
	margin:0 0 0 7px;
	font-size:14px;
	line-height:20px;
}
.span1{
	color:#008000;
}
.span2{
	background-color:#8fb8f9;
	color:#fff;
/*	扩展,边框倒角 */
	border-radius:3px;
}
.span3{
	color:#7cabf7;
}
.p2{
	margin:7px 0 0 9px;
	font-size:14px;
}
.div3{
	width:518px;
	height:93px;
	margin:10px auto 0;
	font-size:12px;
}
.div4{
	width:128px;
	height:93px;
	float:left;
}
.dd1{
	background-color:#fafafa;
	border-bottom:solid 1px #f3f3f3;
}
.dd2{
	border-bottom:solid 1px #f3f3f3;
}
dd{
	margin:0 auto;
}

实现效果:
开始为了辨别块设置了背景颜色
总结:
伪类标签需要按顺序写出(link, visited, hover, active)否则会发生无法实现的情况,<dl></dl><dd></dd>标签自带属性无法实现左对齐,需要margin 修改,写代码时要写好class类名,因为里面a标签过多,如果不写好类名会容易混乱而出现错误。

*因为我是初学新手,可能会有很多地方有错误或者有些代码写的还是不够整洁,希望您可以给指出错误和可以改进的地方。
*

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值