運行效果
效果圖
技術要點
- 圖片和文字的對齊方式,vertical-align: bottom 底部對齊,vertical-align: middle 居中對齊
- 浮動 float: left,子元素一浮動,需要全部浮動,浮動后不占有位置,脫標,需要解決盒子的坍塌問題,具體可以參考以前的文章。
- css選擇器,特別是偽類選擇器
- 利用畫三角型的技巧,實現箭頭的向上向下效果,具體參考以前文章的總結。
- 元素的模式轉換,display: block,display: inline,display:inline-block,行內元素、塊級元素,行內塊元素的特點以及區別,每個html標簽默認是哪種模式,這個非常重要,標簽是有語義的,哪種情況下需要用哪種標簽,是否需要轉換模式,需要很熟練掌握。
源碼如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>模仿今日頭條</title>
<style type="text/css">
*{
margin: 0;
padding: 0;
}
li {
list-style: none;
}
/* 這里是外面的大盒子,設置高度350像素和寬度230像素,距離底部100像素,整個盒子設置10像素的圓角*/
.box{
width: 350px;
height: 230px;
margin: 100px auto;
border-radius: 10px;
}
/* begin 頂部的標題區,高度為40像素*/
.header {
height: 40px;
}
/* 設置圖片高度30像素,vertical-align 為bottom,這樣文字和圖片底部對象*/
.header .title img{
height: 30px;
vertical-align: bottom;
}
.header .switch img{
height: 25px;
vertical-align: bottom;
}
.title {
float: left;
font-size: 20px;
padding-left: 10px;
}
.switch {
float: right;
font-size: 14px;
padding-right: 10px;
}
/* end */
/*begin 文章內容區*/
.content {
margin-top: 10px;
margin-left: 10px;
}
.content li {
height: 40px;
line-height: 40px;
}
.content li div {
display: inline-block;
font-size: 20px;
font-weight: 700;
color: #A8A8A8;
}
.content li div:hover {
cursor: pointer;
}
.content li a {
font-size: 16px;
margin-left: 10px;
}
.content li a:hover {
color: red;
cursor: pointer;
}
.hot {
width: 20px;
height: 20px;
border-radius: 5px;
background: red;
line-height: 20px;
}
.content li div:nth-child(3) {
color: white;
font-size: 12px;
text-align: center;
}
#heng{
display: block;
width:10px;
height:2px;
background-color:red;
margin-bottom: -4px;
}
/* 向下箭頭 */
#to_top {
width: 0;
height: 0;
border-top: 5px solid transparent;
border-bottom: 5px solid red;
border-left: 5px solid transparent;
border-right: 5px solid transparent;
display: block;
}
#line{
display: block;
width:2px;
height:10px;
background-color:red;
margin-left: 4px;
}
#number1 {
color: #D9A5A5;
}
#number2 {
color: #F36D6E;
}
#number3 {
color: #FF9A03;
}
/* end 文章內容區*/
</style>
</head>
<body>
<div class="box">
<div class="header">
<div class="title">
<img src="image1.png" />
<span>頭條熱榜</span>
</div>
<div class="switch">
<img src="image2.png" />
<span>換一換</span>
</div>
</div>
<div class="content">
<ul>
<li>
<div>
<div id="heng"></div>
<div id="to_top"></div>
<div id="line"></div>
</div>
<a>構建網絡空間命運共同體</a>
</li>
<li>
<div id="number1">1</div>
<a>印尼總統稱強烈感覺普京不出席G20</a>
<div class="hot" >熱</div>
</li>
<li>
<div id="number2">2</div>
<a>小伙買房買貴了放棄5萬定金毀約</a>
<div class="hot" >熱</div>
</li>
<li>
<div id="number3">3</div>
<a>攜手構建網絡空間命運共同體</a>
</li>
<li>
<div>4</div>
<a>澤連斯基將參加G20峰會</a>
<div class="hot" >熱</div>
</li>
<li>
<div>5</div>
<a>文旅局長被吐槽像如花 女兒當表情包</a>
</li>
<li>
<div>6</div>
<a>老太借房給重孫上學 孫子卻拒還</a>
</li>
</ul>
</div>
</div>
</body>
</html>