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"> 官方 </a></p>
<div class="div1">
<a href="#"><img src="./tu1.png" alt="???"></a>
<div class="div2"> 【当当】全球知名的综合性网上购物商城,千万商品,品质保证,涵盖<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"> 保 </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"> 热门分类</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"> 图书榜单</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"> 新书推荐</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"> 电子书</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标签过多,如果不写好类名会容易混乱而出现错误。
*因为我是初学新手,可能会有很多地方有错误或者有些代码写的还是不够整洁,希望您可以给指出错误和可以改进的地方。
*