这个文章主要是将前面学习的CSS和HTML进行一个串联。
通过观察上图可以发现整体结构可以分为四个部分:
头部+中间轮播图+精品推荐+底部
对于头部:用一个大盒子,里面包裹4个小盒子,分别实现 logo 、导航栏、个人中心、搜索框。
对于中间轮播图:要实现左侧导航栏、小圆点模拟轮播图、小课表部分。
对于精品推荐:要完成精品推荐导航栏、精品推荐大模块(包含头、身体)。
对于底部样式:需要一个logo、还有一个列表。
/*初始化部分*/
/*清除内外边距*/
* {
margin: 0;
padding: 0;
}
/*去掉列表样式小点*/
ul {
list-style: none;
}
/*清除浮动*/
.clearfix:before, .clearfix:after {
display: table;
content: "";
}
.clearfix:after {
clear: both;
}
.clearfix {
*zoom: 1;
}
a {
color: #050505;
text-decoration: none;
}
.container {
/*盒子水平居中*/
/*因为我们的版心宽度都是1200 都要居中对其,我们就声明一个公共类*/
width: 1200px;
margin:0 auto;
}
/*整个页面背景色*/
body {
background-color: #f3f5f7;
}
<header>
<nav>
<div class="logo">
<img src="images/logo.png">
div>
<div class="navbar">
<ul>
<li><a href="#">首页a>li>
<li><a href="#">课程a>li>
<li><a href="#">职业规划a>li>
ul>
div>
<div class="user">
<img src="images/登录状态.png" alt="">
div>
<div class="search">
<form action="">
<input type="text" placeholder="请输入关键词">
<input type="submit" value="">
form>
div>
nav>
header>
/*头部部分*/
header {
height: 100px;
overflow: hidden;
}
nav {
width: 1366px;
height: 42px;
/*盒子水平居中对齐*/
margin: 26px auto;
}
header nav .logo {
float: left;
}
header nav .navbar {
float: left;
height: 42px;
/*这个行高给父亲,因为可以继承*/
line-height: 42px;
margin-left: 50px;
}
.navbar li {
/*让首页课程一行显示*/
float: left;
}
.navbar li a {
/*给padding值让它撑开块,上下0左右8*/
padding: 0 12px;
/*a是行内元素给高需要转换为块级*/
display: block;
height: 42px;
}
.navbar li a:hover {
/*鼠标放入有底边框*/
border-bottom: 2px solid #00a4ff;
}
/*搜索框部分*/
.search {
width: 420 px;
height: 38px;
float: right;
}
/*属性选择器,type为text的文本框*/
.search input[type=text] {
width: 340px;
height: 38px;
float: left;
padding-left: 20px;
border: 1px solid #00a4ff;
}
.search input[type=submit] {
width: 50px;
height: 40px;
float: left;
background: url(images/fa-search.png) no-repeat center center #00a4ff;
border: 1px solid #00a4ff;
}
.user {
float: right;
height: 42px;
line-height: 42px;
margin: 0 15px 0 35px;
}
.user img{
margin: 0 8px;
}
<div class="banner">
<div class="banner-in container">
<div class="sildebar">
<ul> >
<li><a href="#">前端开发 <span>>span>a>li>
<li><a href="#">前端开发 <span>>span>a>li>
<li><a href="#">前端开发 <span>>span>a>li>
<li><a href="#">前端开发 <span>>span>a>li>
<li><a href="#">前端开发 <span>>span>a>li>
<li><a href="#">前端开发 <span>>span>a>li>
<li><a href="#">前端开发 <span>>span>a>li>
<li><a href="#">前端开发 <span>>span>a>li>
<li><a href="#">前端开发 <span>>span>a>li>
ul>
div>
<ul class="circle">
<li class="current">li>
<li>li>
<li>li>
<li>li>
<li>li>
<li>li>
ul>
<dl class="timetable">
<dt>我的课程表dt>
<div>
<dd>
<h4>继续学习 程序语言设计h4>
<p>正在学习-使用对象p>
dd>
<dd>
<h4>继续学习 程序语言设计h4>
<p>正在学习-使用对象p>
dd>
<dd>
<h4>继续学习 程序语言设计h4>
<p>正在学习-使用对象p>
dd>
<dd>
<a href="#">全部课程a>
dd>
div>
dl>
div>
div>
/*banner部分*/
.banner {
height: 420px;
background-color: #1c036c;
}
.banner-in {
height: 420px;
background: url(images/banner2.png) no-repeat;
/*子绝父相*/
position: relative;
}
.sildebar {
height: 420px;
width: 190px;
/*盒子背景半透明*/
background: rgba(0,0,0,0.3);
float: left;
}
.sildebar a {
color: #fff;
/*一般情况下的符号字体*/
font-family: arial;
font-size: 14px;
padding: 0 20px;
display: block;
height: 45px;
/*行高等于高度,文字垂直居中*/
line-height: 45px;
}
.sildebar a span {
float: right;
}
.sildebar a:hover{
color: #00a4ff;
}
/*小课表部分*/
.timetable {
float: right;
width: 230px;
height: 300px;
margin-top: 50px;
background-color: #ffffff;
}
.timetable dt {
font-size: 20px;
height: 50px;
line-height: 50px;
background-color: #9bceea;
color: #fff;
font-weight: 700;
/*文字水平居中*/
text-align: center;
/*设置字间距*/
letter-spacing: 2px;
margin-bottom: 10px;
}
.timetable div{
width: 190px;
height: 300px;
margin: 0 auto;
}
.timetable dd {
width: 190px;
height: 60px;
border-bottom: 2px solid #f8f8f8;
padding-top: 12px;
/*修改盒模型,不让它因为加了边框而影响整体*/
box-sizing: border-box;
}
/*让最后一个不加下边框,结构伪类选择器*/
.timetable dd:last-child {
border-bottom: 0;
}
.timetable dd h4{
font-size: 16px;
font-weight: normal;
color: #4e4e4e;
}
.timetable dd p{
font-size: 12px;
font-weight: normal;
color: #a5a5a5;
}
.timetable dd a{
height: 38px;
font-size: 16px;
/*注意:不加单位*/
font-weight: 700;
color: #00a4ff;
border: 2px solid #00a4ff;
display: block;
text-align: center;
margin: 0 auto;
line-height: 38px;
}
.timetable dd a:hover{
background-color: #00a4ff;
color: #fff;
}
<div class="recommend container">
<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>
<div class="recom-products container">
<div class="recom-hd ">
<h4>精品推荐h4>
<a href="#">查看全部a>
div>
<div class="recom-bd clearfix">
<ul>
<li>
<img src="images/图层137.png" alt="">
<h5>Android Hybrid APP开发实战 H5+原生!h5>
<p> <span>高级span> • 1125人在学习p>
li>
<li>
<img src="images/图层137.png" alt="">
<h5>Android Hybrid APP开发实战 H5+原生!h5>
<p> <span>高级span> • 1125人在学习p>
li>
<li>
<img src="images/图层137.png" alt="">
<h5>Android Hybrid APP开发实战 H5+原生!h5>
<p> <span>高级span> • 1125人在学习p>
li>
<li>
<img src="images/图层137.png" alt="">
<h5>Android Hybrid APP开发实战 H5+原生!h5>
<p> <span>高级span> • 1125人在学习p>
li>
<li>
<img src="images/图层137.png" alt="">
<h5>Android Hybrid APP开发实战 H5+原生!h5>
<p> <span>高级span> • 1125人在学习p>
li>
<li>
<img src="images/图层137.png" alt="">
<h5>Android Hybrid APP开发实战 H5+原生!h5>
<p> <span>高级span> • 1125人在学习p>
li>
<li>
<img src="images/图层137.png" alt="">
<h5>Android Hybrid APP开发实战 H5+原生!h5>
<p> <span>高级span> • 1125人在学习p>
li>
<li>
<img src="images/图层137.png" alt="">
<h5>Android Hybrid APP开发实战 H5+原生!h5>
<p> <span>高级span> • 1125人在学习p>
li>
<li>
<img src="images/图层137.png" alt="">
<h5>Android Hybrid APP开发实战 H5+原生!h5>
<p> <span>高级span> • 1125人在学习p>
li>
<li>
<img src="images/图层137.png" alt="">
<h5>Android Hybrid APP开发实战 H5+原生!h5>
<p> <span>高级span> • 1125人在学习p>
li>
ul>
div>
div>
/*精品推荐大模块*/
.recom-products {
margin-top: 35px;
}
.recom-hd {
height: 40px;
}
.recom-hd h4 {
/*设置左浮动,不让它把a挤下去*/
float: left;
color: #494949;
}
.recom-hd a {
color: #a5a5a5;
font-size: 12px;
float: right;
margin-right: 30px;
margin-top: 10px;
}
.recom-hd a:hover {
color: #00a4ff;
}
/*精品推荐大模块身体*/
.recom-bd li{
width: 228px;
height: 270px;
background-color: #ffffff;
/*溢出不显示*/
overflow: hidden;
/*浮动铺满会自动到下一行*/
float: left;
margin-right: 15px;
margin-bottom: 15px;
}
/*取消第5、10、... 外边距*/
.recom-bd li:nth-child(5n){
margin-right: 0;
}
.recom-bd li h5,
.recom-bd li p {
margin-top: 12px;
padding: 0 20px 0 24px;
}
.recom-bd li h5 {
line-height: 22px;
font-weight: normal;
font-size: 14px;
}
.recom-bd li p {
font-size: 12px;
color: #999;
}
.recom-bd li p span {
color: #ff7c2d;
}
.recom-bd ul li:hover {
box-shadow: 1px 4px 5px rgba(0,0,0,0.2) ;
}
/*精品推荐模块*/
.recommend {
height: 60px;
line-height: 60px;
background-color: #fff;
margin-top: 8px;
/*盒子阴影:水平位置,垂直位置,模糊举例,影子颜色*/
box-shadow: 0 2px 2px rgba(0,0,0,0.2);
}
.recommend a {
padding:0 30px;
border-right: 1px solid #ccc;
}
.recommend a:hover {
color:#00a4ff;
}
.recommend a:first-child {
color:#00a4ff;
}
.recommend a:last-child {
border-right: 0;
color:#00a4ff;
float: right;
font-size: 14px;
}
/*小圆点模块*/
.circle {
width: 180px;
height: 22px;
position: absolute;
bottom: 10px;
/*定位的水平居中*/
left: 50%;
margin-left: -90px;
}
.circle li {
float: left;
width: 12px;
height: 12px;
margin: 6px 8px;
/*设置边框弧度,50%为圆*/
border-radius: 50%;
background: rgba(255,255,255,0.2);
}
.circle .current {
width: 19px;
background-color: #fff;
border-radius: 5px;
}
<div class="footer">
<div class="footer-in container">
<div class="fotter-l">
<img src="images/logo.png" alt="">
<p>学成在线致力于普及中国最好的教育它与中国一流大学和机构合作提供在线课程。<br/>
© 2017年XTCG Inc.保留所有权利。-沪ICP备15025210号p>
<a href="#">下载APPa>
div>
<div class="fotter-r">
<dl>
<dt>关于学成网dt>
<dd><a href="#">关于a>dd>
<dd><a href="#">管理团队a>dd>
<dd><a href="#">工作机会a>dd>
<dd><a href="#">客户服务a>dd>
<dd><a href="#">帮助a>dd>
dl>
<dl>
<dt>新手指南dt>
<dd><a href="#">关于a>dd>
<dd><a href="#">管理团队a>dd>
<dd><a href="#">工作机会a>dd>
<dd><a href="#">客户服务a>dd>
<dd><a href="#">帮助a>dd>
dl>
<dl>
<dt>合作伙伴dt>
<dd><a href="#">关于a>dd>
<dd><a href="#">管理团队a>dd>
dl>
div>
div>
div>
/*底部样式*/
.footer {
height: 270px;
background-color: #fff;
/*清除浮动,不让底部跑上去,给recom-bd清除在HTML*/
margin-top: 100px;
}
.footer-in {
padding-top: 30px;
}
.fotter-l {
float: left;
}
.fotter-r {
float: right;
}
.fotter-l p {
font-size: 12px;
color: #666666;
margin-top: 25px;
margin-bottom: 15px;
line-height: 18px;
}
.fotter-l a {
border: 1px solid #00a4ff;
color: #00a4ff;
font-size: 16px;
text-align: center;
display: block;
height: 36px;
width: 120px;
line-height: 36px;
}
.fotter-r dt {
color: #333333;
font-size: 16px;
margin-bottom: 15px;
}
.fotter-r dd {
color: #333333;
font-size: 12px;
/*也可以写height:30px , 这样是高度剩余法*/
margin-bottom: 8px;
}
.fotter-r dl {
float: right;
/*宽度剩余法*/
width: 225px;
}
.fotter-r dd a:hover{
color: #00a4ff;
/*添加下划线*/
text-decoration: underline;
}