CSS按要求实现学生信息列表效果
🌴 2022.3.24 作业
🚀 要求
编写CSS,使得所给的学生列表页面实现要求的样式效果,要用到的主要属性如下,自己查阅相关资料进行学习
- 主要用
flex布局,查阅flex布局相关属性 - 元素布局相关
box-shadow、padding、margin、border、border-radius - 颜色相关
background-color、color等 - 字体相关
font-size、font-weight等 - 动画相关
transition、tranform等
🚀 效果图
- 1~8将四个信息放在四个块元素中,使用
display: flex;让页面块元素占用同一行。flex-wrap: wrap;让块元素随页面大小变化 - 62~89使用
display: inline-block;行内块元素使兴趣爱好单独占一个块(读书和篮球分开显示) - 91~96
display: block;使.msg-span-div下的span为块元素独自一行(学号、姓名、系别、爱好单独一行) - 98~103
display: inline-block;单独设置姓名和性别为行内块,在同一行
主要就是display布局,剩下应该都能看懂,就不解释了

🚀 代码
小张自己的代码,仅供参考。源文件
.css
#msgList-ul { margin: 100px; display: flex; flex-wrap: wrap; white-space: nowrap; list-style-type: none; }
.female { height: 400px; width: 330px; margin-top: 40px; background-color: #ffccdd; border-radius: 20px; box-shadow: 0 0 0.5rem 0.5rem #999; margin-left: 50px; }
.male { height: 400px; width: 330px; margin-top: 40px; background-color: #abccff; border-radius: 20px; box-shadow: 0 0 0.5rem 0.5rem #999; margin-left: 50px; }
.img-div { margin: 20px 30px; }
.img { height: 200px; border-radius: 20px; border: 2px solid #F2F2F2; }
.msg-span-div { margin-left: 35px; margin-top: -20px; }
.name-span { font-size: 20px; font-weight: 1000; }
.sex-span { font-size: 20px; margin-left: 150px; }
.female .like-span span { width: 50px; height: 30px; color: #F0FFFF; font-weight: 1000; border-radius: 10px; display: inline-block; background-color: #ff8844; text-align: center; line-height: 30px; }
.male .like-span span { width: 50px; height: 30px; color: #F0FFFF; border-radius: 10px; display: inline-block; background-color: #4488ff; text-align: center; line-height: 30px; }
.msg-span-div span { width: 10px; display: block; margin-top: 6px; }
.msg-span-div span span { width: 10px; display: inline-block; margin-top: 6px; }
li:hover{ transform: scale(1.1); cursor: pointer; }
|
.html
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>学生信息列表</title> <link rel="stylesheet" type="text/css" href="../css/3.24%20学生信息列表.css" /> </head> <body> <ul id="msgList-ul"> <li class="female"> <div class="img-div"> <img class="img" src="https://img.zhsher.cn/9901.png"> </div> <div class="msg-span-div"> <span>182056101</span> <span> <span class="name-span">张伞</span> <span class="sex-span">女</span> </span> <span class="depart-span">计算机工程系</span> <span class="like-span"> <span>读书</span> <span>篮球</span> </span> </div> </li>
<li class="male"> <div class="img-div"> <img class="img" src="https://img.zhsher.cn/9902.png"> </div> <div class="msg-span-div"> <span>182056102</span> <span> <span class="name-span">李斯</span> <span class="sex-span">男</span> </span> <span class="depart-span">计算机工程系</span> <span class="like-span"> <span>读书</span> <span>音乐</span> <span>学习</span> </span> </div> </li>
<li class="male"> <div class="img-div"> <img class="img" src="https://img.zhsher.cn/9903.png"> </div> <div class="msg-span-div"> <span>172056103</span> <span> <span class="name-span">王武</span> <span class="sex-span">男</span> </span> <span class="depart-span">计算机工程系</span> <span class="like-span"> <span>读书</span> <span>篮球</span> <span>音乐</span> </span> </div> </li>
<li class="female"> <div class="img-div"> <img class="img" src="https://img.zhsher.cn/9904.png"> </div> <div class="msg-span-div"> <span>172056101</span> <span> <span class="name-span">赵柳</span> <span class="sex-span">女</span> </span> <span class="depart-span">计算机工程系</span> <span class="like-span"> <span>读书</span> <span>学习</span> <span>音乐</span> </span> </div> </li> </ul> </body> </html>
|
🚀 知识总结
上一节作业刚自己学了一下flex属性这节就用到了嘿嘿,首先搞清div默认是块级元素即独占一行,span默认是行内块元素即共占一个块,以上代码主要用到:
display: flex;让页面div块级元素占用同一行display: inline-block;使每一个span单独占一个块(“读书”、”篮球”默认是连在一起的一个块,所以用这个属性来分开)display: block;使span为块元素独自一行