如果想让某一个div居中,如果使用margin 0 auto必须添加width才能正常居中
alt 属性是一个必需的属性,它规定在图像无法显示时的替代文本
精灵图的引入图标必须增加dib才能正常显示
.play-icon
{
background: url(../images/music_sprite_02.png) no-repeat 0 0px;
width: 16px;
height: 17px;
display: inline-block;
}
将图片下面的多出来的区域去除
.item .top img {
/* 将图片下面的多出来的区域去除 */
vertical-align: top;
/* display: block; */
}
已经写出来的初版
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
a{
text-decoration: none;
color: #000;
}
.item
{
width: 140px;
margin: 0 auto;
}
.music-icon
{
background: url(../images/music_sprite_02.png) no-repeat 0 -24px;
width: 14px;
height: 11px;
display: inline-block;
}
.play-icon
{
background: url(../images/music_sprite_02.png) no-repeat 0 0px;
width: 16px;
height: 17px;
display: inline-block;
}
.item .top {
position: relative;
}
.item .top .cover {
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
background: url(../images/music_sprite_01.png) no-repeat 0 0;
width: 140px;
height: 141px;
display: inline-block;
}
.item .info .count
{
color:#ccc;
font-size: 12px;
}
/* 底部的样式 */
.item .bottom {
font-size: 14px;
}
.item .bottom:hover
{
text-decoration:underline;
}
</style>
</head>
<body>
<div class="item">
<div class="top" href="#">
<img src="../images/music_album01.jpg" alt="音乐封面">
<a class="cover" href="#"></a>
<div class="info">
<i class="music-icon"></i>
<span class="count">62万</span>
<i class="play-icon"></i>
</div>
</div>
<a class="bottom" href="#">
100首华语民谣,因为懂得才有共鸣
</a>
<i class="music-icon"></i>
<i class="play-icon"></i>
</div>
</body>
</html>
绝对定位基本上都没写出来
未完成
建议下面自己再写一遍,主要是定位时候的四个值+内外边距+行高居中,margin left与top
.item .top {
position: relative;
}
.item .top .cover {
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
background: url(../images/music_sprite_01.png) no-repeat 0 0;
width: 140px;
height: 141px;
display: inline-block;
}
没写出来
.item .top .info
{
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 27px;
padding-left: 10px;
line-height: 27px;
font-size: 12px;
color: #ccc;
background-image: url(../images/music_sprite_01.png);
background-position: 0 -537px;
}
没写出来
.item .top .info .icon-music {
position: relative;
top: 1px;
/* display: inline-block; */
/* width: 14px;
height: 11px; */
/* background-image: url(../images/music_sprite_02.png); */
/* background-position: 0 -24px; */
}
.item .top .info .count {
margin-left: 4px;
}
.item .top .info .icon-play {
position: absolute;
top: 0;
bottom: 0;
right: 10px;
margin: auto 0;
/* display: inline-block; */
/* width: 16px;
height: 17px; */
/* background-image: url(../images/music_sprite_02.png); */
/* background-position: 0 0; */
}
/* 底部的样式 */
.item .bottom {
display: block;
margin-top: 8px;
}
第二版
自己写第二遍,仍然是各种px有问题,定位几乎没问题
依然不足的地方,没有把共同代码抽取类,以及代码没有按层次写
一个tip是:公共用下划线,单独用连接线
我的代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
a{
text-decoration: none;
color: #000;
}
.music-icon
{
background: url(../images/music_sprite_02.png) no-repeat 0 -24px;
width: 14px;
height: 11px;
display: inline-block;
}
.play-icon
{
background: url(../images/music_sprite_02.png) no-repeat 0 0px;
width: 16px;
height: 17px;
display: inline-block;
}
.item
{
width: 140px;
margin: 0 auto;
}
.item .top img {
/* 将图片下面的多出来的区域去除 */
vertical-align: top;
/* display: block; */
}
.item .top {
position: relative;
}
.item .top .info
{
position: absolute;
bottom: 0px;
left: 0;
right: 0;
height: 27px;
padding-left: 10px;
line-height: 27px;
background-image: url(../images/music_sprite_01.png);
background-position: 0 -537px;
}
.item .top .cover {
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
background: url(../images/music_sprite_01.png) no-repeat 0 0;
width: 140px;
height: 141px;
display: inline-block;
}
.item .info .count
{
color:#ccc;
font-size: 12px;
}
/* 底部的样式 */
.item .bottom {
font-size: 14px;
}
.item .bottom:hover
{
text-decoration:underline;
}
.item .info .play-icon
{
position: absolute;
top: 0;
bottom: 0;
right: 10px;
margin: auto 0;
}
/* 底部的样式 */
.item .bottom {
display: block;
margin-top: 8px;
}
</style>
</head>
<body>
<div class="item">
<div class="top">
<img src="../images/music_album01.jpg" alt="音乐封面">
<a class="cover" href="https://music.163.com/#/playlist?id=391125700"></a>
<div class="info">
<i class="music-icon"></i>
<span class="count">62万</span>
<i class="play-icon"></i>
</div>
</div>
<a class="bottom" href="https://music.163.com/#/playlist?id=391125700">
100首华语民谣,因为懂得才有共鸣
</a>
<i class="music-icon"></i>
<i class="play-icon"></i>
</div>
</body>
</html>
老师的代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
/* 重置代码 */
a {
text-decoration: none;
color: #333;
}
/* 公共的CSS */
.sprite_01 {
background-image: url(../images/music_sprite_01.png);
display: inline-block;
}
.sprite_02 {
background-image: url(../images/music_sprite_02.png);
display: inline-block;
}
.sprite_02_icon_music {
width: 14px;
height: 11px;
background-position: 0 -24px;
}
.sprite_02_icon_play {
width: 16px;
height: 17px;
background-position: 0 0;
}
/* 布局代码 */
.item {
width: 140px;
margin: 0 auto;
}
.item .top {
position: relative;
}
.item .top img {
/* 将图片下面的多出来的区域去除 */
vertical-align: top;
/* display: block; */
}
.item .top .cover {
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
background-image: url(../images/music_sprite_01.png);
background-position: 0 0;
}
.item .top .info {
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 27px;
padding-left: 10px;
line-height: 27px;
font-size: 12px;
color: #ccc;
background-image: url(../images/music_sprite_01.png);
background-position: 0 -537px;
}
.item .top .info .icon-music {
position: relative;
top: 1px;
/* display: inline-block; */
/* width: 14px;
height: 11px; */
/* background-image: url(../images/music_sprite_02.png); */
/* background-position: 0 -24px; */
}
.item .top .info .count {
margin-left: 4px;
}
.item .top .info .icon-play {
position: absolute;
top: 0;
bottom: 0;
right: 10px;
margin: auto 0;
/* display: inline-block; */
/* width: 16px;
height: 17px; */
/* background-image: url(../images/music_sprite_02.png); */
/* background-position: 0 0; */
}
/* 底部的样式 */
.item .bottom {
display: block;
margin-top: 8px;
font-size: 14px;
}
.item .bottom:hover {
text-decoration: underline;
}
</style>
</head>
<body>
<div class="item">
<div class="top">
<img src="../images/music_album01.jpg" alt="音乐封面">
<a class="cover" href="https://music.163.com/#/playlist?id=2312165875"></a>
<div class="info">
<i class="sprite_02 sprite_02_icon_music icon-music"></i>
<span class="count">62万</span>
<i class="sprite_02 sprite_02_icon_play icon-play"></i>
</div>
</div>
<a class="bottom" href="https://music.163.com/#/playlist?id=2312165875">
天气好的话,把耳机分给我一半吧
</a>
<i class="sprite_02 sprite_02_icon_play"></i>
<i class="sprite_02 sprite_02_icon_music"></i>
</div>
</body>
</html>