效果图
HTML
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- 引入首页css -->
<link rel="stylesheet" href="./less/index.css">
<!-- 引入字体图标 -->
<link rel="stylesheet" href="./fonts/iconfont.css">
<!-- 引入favicon图标 -->
<link rel="shortcut icon" href="favicon.ico" type="image/x-icon">
<title>bilibili-干杯~~~</title>
</head>
<body>
<!-- 头部模块--------------------start -->
<header class="suspension">
<!-- m-navbar -->
<div class="m-navbar">
<!-- 左侧 -->
<a href="#" class="logo">
<i class="iconfont Navbar_logo"></i>
</a>
<!-- 右侧 -->
<div class="right">
<a href="#" class="search">
<i class="iconfont ic_search_tab"></i>
</a>
<a href="#" class="face">
<img src="./image/login.png" alt="">
</a>
<div class="app-btn">
<img src="./image/download.png" alt="">
</div>
</div>
</div>
<!-- channel-menu -->
<div class="channel-menu">
<!-- 左侧 -->
<div class="tabs">
<!-- 很宽的盒子 -->
<div class="tabs-list">
<a href="#">首页</a>
<a href="#">动画</a>
<a href="#">番剧</a>
<a href="#">国创</a>
<a href="#">音乐</a>
<a href="#">舞蹈</a>
<a href="#">舞蹈</a>
<a href="#">舞蹈</a>
<a href="#">舞蹈</a>
<!-- 红色线 -->
<div class="line"></div>
</div>
</div>
<!-- 右侧 -->
<div class="after">
<i class="iconfont general_pulldown_s"></i>
</div>
</div>
</header>
<!-- 内容模块-----------------start -->
<div class="m-home">
<div class="video-list">
<a href="#" class="video-item">
<!-- 上 图片 -->
<div class="card">
<img src="./image/2.jpg" alt="">
<div class="count">
<span><i class="iconfont icon_shipin_bofangshu"></i> 播放量</span>
<span><i class="iconfont icon_shipin_danmushu"></i> 评论数</span>
</div>
</div>
<!-- 下 文字 -->
<p class="title ellipsis-2">【PS教程+AI教程】暑假再也不用盲目自学了,专门为小白量身录制的PS+AI入门全套视频,新手看完信手拈来,拿走不谢,允许白嫖!</p>
</a>
<a href="#" class="video-item">
<!-- 上 图片 -->
<div class="card">
<img src="./image/2.jpg" alt="">
<div class="count">
<span><i class="iconfont icon_shipin_bofangshu"></i> 播放量</span>
<span><i class="iconfont icon_shipin_danmushu"></i> 评论数</span>
</div>
</div>
<!-- 下 文字 -->
<p class="title ellipsis-2">【PS教程+AI教程】暑假再也不用盲目自学了,专门为小白量身录制的PS+AI入门全套视频,新手看完信手拈来,拿走不谢,允许白嫖!</p>
</a>
<a href="#" class="video-item">
<!-- 上 图片 -->
<div class="card">
<img src="./image/2.jpg" alt="">
<div class="count">
<span><i class="iconfont icon_shipin_bofangshu"></i> 播放量</span>
<span><i class="iconfont icon_shipin_danmushu"></i> 评论数</span>
</div>
</div>
<!-- 下 文字 -->
<p class="title ellipsis-2">【PS教程+AI教程】</p>
</a>
<a href="#" class="video-item">
<!-- 上 图片 -->
<div class="card">
<img src="./image/2.jpg" alt="">
<div class="count">
<span><i class="iconfont icon_shipin_bofangshu"></i> 播放量</span>
<span><i class="iconfont icon_shipin_danmushu"></i> 评论数</span>
</div>
</div>
<!-- 下 文字 -->
<p class="title ellipsis-2">【PS教程+AI教程】</p>
</a>
<a href="#" class="video-item">
<!-- 上 图片 -->
<div class="card">
<img src="./image/2.jpg" alt="">
<div class="count">
<span><i class="iconfont icon_shipin_bofangshu"></i> 播放量</span>
<span><i class="iconfont icon_shipin_danmushu"></i> 评论数</span>
</div>
</div>
<!-- 下 文字 -->
<p class="title ellipsis-2">【PS教程+AI教程】</p>
</a>
<a href="#" class="video-item">
<!-- 上 图片 -->
<div class="card">
<img src="./image/2.jpg" alt="">
<div class="count">
<span><i class="iconfont icon_shipin_bofangshu"></i> 播放量</span>
<span><i class="iconfont icon_shipin_danmushu"></i> 评论数</span>
</div>
</div>
<!-- 下 文字 -->
<p class="title ellipsis-2">【PS教程+AI教程】暑假再也不用盲目自学了,专门为小白量身录制的PS+AI入门全套视频,新手看完信手拈来,拿走不谢,允许白嫖!</p>
</a>
<a href="#" class="video-item">
<!-- 上 图片 -->
<div class="card">
<img src="./image/2.jpg" alt="">
<div class="count">
<span><i class="iconfont icon_shipin_bofangshu"></i> 播放量</span>
<span><i class="iconfont icon_shipin_danmushu"></i> 评论数</span>
</div>
</div>
<!-- 下 文字 -->
<p class="title ellipsis-2">【PS教程+AI教程】</p>
</a>
<a href="#" class="video-item">
<!-- 上 图片 -->
<div class="card">
<img src="./image/2.jpg" alt="">
<div class="count">
<span><i class="iconfont icon_shipin_bofangshu"></i> 播放量</span>
<span><i class="iconfont icon_shipin_danmushu"></i> 评论数</span>
</div>
</div>
<!-- 下 文字 -->
<p class="title ellipsis-2">【PS教程+AI教程】暑假再也不用盲目自学了,专门为小白量身录制的PS+AI入门全套视频,新手看完信手拈来,拿走不谢,允许白嫖!</p>
<a href="#" class="video-item">
<!-- 上 图片 -->
<div class="card">
<img src="./image/2.jpg" alt="">
<div class="count">
<span><i class="iconfont icon_shipin_bofangshu"></i> 播放量</span>
<span><i class="iconfont icon_shipin_danmushu"></i> 评论数</span>
</div>
</div>
<!-- 下 文字 -->
<p class="title ellipsis-2">【PS教程+AI教程】</p>
</a>
<a href="#" class="video-item">
<!-- 上 图片 -->
<div class="card">
<img src="./image/2.jpg" alt="">
<div class="count">
<span><i class="iconfont icon_shipin_bofangshu"></i> 播放量</span>
<span><i class="iconfont icon_shipin_danmushu"></i> 评论数</span>
</div>
</div>
<!-- 下 文字 -->
<p class="title ellipsis-2">【PS教程+AI教程】</p>
</a>
</a>
</div>
</div>
<!-- 底部模块--------------------start -->
<footer class="app">
<div class="btn-app ">
<i class="iconfont Navbar_logo"></i>
打开App,看你感兴趣的视频
</div>
</footer>
</body>
</html>
CSS
//导入base.less
//out:../css/
@import url(base.less);
// 声明基准值变量
@baseSize: 3.75vmin;
// 头部模块--------------------start
.suspension {
// 固定定位 必须有宽度
position: fixed;
top: 0;
left: 0;
width: 100%;
background-color: #fff;
z-index: 111;
// m-navbar
.m-navbar {
display: flex;
// 两侧对齐
justify-content: space-between;
padding: 0 (12/@baseSize) 0 (18/@baseSize);
height: (44/@baseSize);
// 侧轴居中对齐
align-items: center;
// 左侧
.logo {
i {
font-size: (28/@baseSize);
color: #fb7299;
}
}
// 右侧
.right {
display: flex;
.search {
i {
color: #ccc;
font-size: (22/@baseSize);
}
}
.face {
width: (20/@baseSize);
height: (20/@baseSize);
border-radius: 50%;
overflow: hidden;
margin: 0 (20/@baseSize);
}
.app-btn {
width: (72/@baseSize);
height: (24/@baseSize);
}
}
}
// channel-menu
.channel-menu {
position: relative;
display: flex;
// 两端对齐
justify-content: space-between;
height: (40/@baseSize);
align-items: center;
border-bottom: 1px solid #e7e7e7;
// 左侧
.tabs {
flex: 1;
overflow: hidden;
.tabs-list {
display: flex;
a {
height: (40/@baseSize);
line-height: (40/@baseSize);
padding: 0 (16/@baseSize);
// 强制一行内显示文本
white-space: nowrap;
font-size: (14/@baseSize);
}
.line {
position: absolute;
left: (16/@baseSize);
bottom: 0;
width: (28/@baseSize);
height: (2/@baseSize);
background-color: #fb7299;
}
}
}
// 右侧
.after {
width: (40/@baseSize);
height: (39/@baseSize);
text-align: center;
line-height: (40/@baseSize);
font-size: (20/@baseSize);
color: #ccc;
background-color: #fff;
}
}
}
// 内容模块-----------------start
.m-home {
padding: (85/@baseSize) (5/@baseSize) 0;
.video-list {
display: flex;
flex-wrap: wrap;
.video-item {
width: 50%;
padding: (8/@baseSize) (5/@baseSize);
// 上 图片
.card {
position: relative;
height: (97/@baseSize);
.count {
// 绝对定位的盒子大小取决于内容大小
position: absolute;
left: 0;
bottom: 0;
width: 100%;
height: (27/@baseSize);
padding: 0 (5/@baseSize);
display: flex;
justify-content: space-between;
align-items: center;
font-size: (12/@baseSize);
color: #fff;
background: linear-gradient(180deg, transparent, rgba(0, 0, 0.5));
i {
vertical-align: middle;
}
}
}
// 下 文字
.title {
font-size: (12/@baseSize);
margin-top: (5/@baseSize);
}
}
}
}
// 底部模块--------------------start
.app {
position: fixed;
left: 0;
bottom: (30/@baseSize);
width: 100%;
height: (38/@baseSize);
.btn-app {
height: (38/@baseSize);
margin: 0 (20/@baseSize);
border-radius: (19/@baseSize);
text-align: center;
line-height: (38/@baseSize);
color: #fff;
background-color: #fb7299;
}
}