1. CSS属性书写顺序
- 布局定位属性:display / position / float / clear / visibility / overflow(建议display第一个写)
- 自身属性:width / height / margin / padding / border / background
- 文本属性:color / font / text-decoration / text-align / vertical-align / white-space / break-word
- 其他属性(CSS3):content / cursor / boder-radius / box-shadow / text-shadow / backgroumd:linear-gradient...
2. 开始
2.1 定版心
每个版心都要对齐,因此可以定义版心为公共类
.W{
width:1200px;
margin:auto;
}
2.2 导航栏注意点:
实际开发中,不会直接用链接 a 而是用 li 包含链接(li+a)的做法。
-
li+a 语义更清晰,一看就是有条理的列表型内容。
-
如果直接用 a,搜索引擎容易辨别为有堆砌关键字嫌疑(故意堆砌关键字容易被搜索引擎有降权的风险),从而影响网站排名。
-
让导航栏一行显示,给
li
加浮动,因为 li 是块级元素,需要一行显示。 -
这个 nav 导航栏可以不给宽度,将来可以继续添加其余文字。
-
因为导航栏里面文字不一样多,所以最好给链接 a 左右 padding 撑开盒子,而不是指定宽度。
-
浮动的盒子不会有外边距合并的问题.
下面是老师教的部分代码。自己写的除了最后一栏没写其他都写了,但感觉不是很好,略显繁琐并且中间有出现一点问题。“前端开发工程师”几个文字怎么改也不能像“数据分析师”一样在最左边,因为我采用了 “数据分析师”这一栏的代码,按理应该是一样的位置的。然后我单独给它定义也不行,改了好几次都搞不定(也可能我没改对地方...)。老师教的也不是我用的办法,所以放弃了那个地方...
<!-- 引入style1.css -->
<link rel="stylesheet" href="style1.css">
</head>
<body>
<!-- 第一栏 -->
<!-- 多类名调用 -->
<div class="header w">
<!-- logo部分 -->
<div class="logo"><img src="images/logo.png" alt=""></div>
<div class="nav">
<ul>
<!-- 链接本身就是行内元素,不用加浮动就能在一行,因此是给li加浮动(是li影响了排列) -->
<li><a href="#" class="shouye">首页</a></li>
<li><a href="#">课程</a></li>
<li><a href="#">职业规划</a></li>
</ul>
</div>
<!-- 搜索模块 -->
<div class="search">
<input type="text" value="请输入关键词">
<button></button>
</div>
<!-- 用户模块 -->
<div class="user">
<img src="images/user.png" alt="">
qq-lilei
</div>
</div>
<!-- 第二栏 -->
<div class="adv">
<div class="php w">
<div class="cebianlan">
<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="#">UI设计<span>></span></a></li>
<li><a href="#">产品<span>></span></a></li>
</ul>
</div>
<div class="course">
<h2>我的课程表</h2>
<div class="bd">
<ul>
<li>
<h4>继续学习 程序语言设计</h4>
<p>正在学习-使用对象</p>
</li>
<li>
<h4>继续学习 程序语言设计</h4>
<p>正在学习-使用对象</p>
</li>
<li>
<h4>继续学习 程序语言设计</h4>
<p>正在学习-使用对象</p>
</li>
</ul>
<a href="#" class="more">全部课程</a>
</div>
</div>
</div>
</div>
<!-- 第三栏 -->
<div class="goods w">
<h3>精品推荐</h3>
<ul>
<li><a href="#">jquery</a></li>
<li><a href="#">jquery</a></li>
<li><a href="#">jquery</a></li>
<li><a href="#">jquery</a></li>
<li><a href="#">jquery</a></li>
</ul>
<a href="#" class="mod">修改信息</a>
</div>
<!-- 第四栏 -->
<div class="box w">
<div class="box-hd">
<h3>精品推荐</h3>
<a href="#">查看全部</a>
</div>
<div class="box-bd">
<ul class="clearfix">
<li>
<img src="images/one.png" alt="">
<h4>Think PHP 5.0 博客系统实战项目演练</h4>
<div class="info"><span>高级</span>• 1125人在学习</div>
</li>
<li>
<img src="images/one.png" alt="">
<h4>Think PHP 5.0 博客系统实战项目演练</h4>
<div class="info"><span>高级</span>• 1125人在学习</div>
</li>
<li>
<img src="images/one.png" alt="">
<h4>Think PHP 5.0 博客系统实战项目演练</h4>
<div class="info"><span>高级</span>• 1125人在学习</div>
</li>
<li>
<img src="images/one.png" alt="">
<h4>Think PHP 5.0 博客系统实战项目演练</h4>
<div class="info"><span>高级</span>• 1125人在学习</div>
</li>
<li>
<img src="images/one.png" alt="">
<h4>Think PHP 5.0 博客系统实战项目演练</h4>
<div class="info"><span>高级</span>• 1125人在学习</div>
</li>
<li>
<img src="images/one.png" alt="">
<h4>Think PHP 5.0 博客系统实战项目演练</h4>
<div class="info"><span>高级</span>• 1125人在学习</div>
</li>
<li>
<img src="images/one.png" alt="">
<h4>Think PHP 5.0 博客系统实战项目演练</h4>
<div class="info"><span>高级</span>• 1125人在学习</div>
</li>
<li>
<img src="images/one.png" alt="">
<h4>Think PHP 5.0 博客系统实战项目演练</h4>
<div class="info"><span>高级</span>• 1125人在学习</div>
</li>
<li>
<img src="images/one.png" alt="">
<h4>Think PHP 5.0 博客系统实战项目演练</h4>
<div class="info"><span>高级</span>• 1125人在学习</div>
</li>
<li>
<img src="images/one.png" alt="">
<h4>Think PHP 5.0 博客系统实战项目演练</h4>
<div class="info"><span>高级</span>• 1125人在学习</div>
</li>
</ul>
</div>
</div>
<!-- 最后一栏 -->
<div class="footer">
<div class="w">
<div class="copyright">
<img src="images/logo.png" alt="">
<p>学成在线致力于普及中国最好的教育它与中国一流大学和机构合作提供在线课程。<br>
© 2017年XTCG Inc.保留所有权利。-沪ICP备15025210号</p>
<a href="#" class="app">下载APP</a>
</div>
<div class="link">
<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>
<dd><a href="#">工作机会</a></dd>
<dd><a href="#">客户服务</a></dd>
<dd><a href="#">帮助</a></dd>
</dl>
</div>
</div>
</div>
</body>
</html>
*{
margin: 0;
padding: 0;
}
.w{
width: 1200px;
margin: auto;
}
body{
background-color: #f3f5f7;
}
li{
list-style: none;
}
a{
text-decoration: none;
}
.clearfix::before,
.clearfix::after {
content: "";
display: table;
}
.clearfix::after {
clear: both;
}
.clearfix {
*zoom: 1;
}
/* 第一栏 */
.header{
height: 42px;
/* 注意此地方会层叠.w里面的margin */
margin: 30px auto;
}
.logo{
float: left;
width: 198px;
height: 42px;
}
.nav{
float: left;
margin-left: 60px;
}
.nav ul li{
float: left;
margin: 0 15px;
}
.nav ul li a{
/* 不转换为块级元素,下面定义的宽和高虽然表面作用在文字上,
但实际上a的高跟li的高(42px)不一致,影响体验感 */
/* 因此要把a转换为块级元素,再有效定义宽高 */
display: block;
padding: 0 10px;
font-size: 18px;
height: 42px;
line-height: 42px;
color: #050505;
}
.nav ul li a:hover{
border-bottom: 2px solid #00a4ff;
}
.search{
float: left;
width: 412px;
height: 42px;
margin-left: 70px;
}
.search input{
float: left;
width: 345px;
height: 40px;
border: 1px solid #00a4ff;
border-right: none;
font-size: 14px;
color: #bfbfbf;
padding-left: 15px;
}
.search button{
float: left;
width: 50px;
height: 42px;
background: url(images/btn.png); /* 按钮默认有个边框,需要我们手动去掉 */
border: 0;
/* input是行内块元素(表单、单元格、图片),button也属于表单即行内块元素。
而行内块元素之间会有一个默认缝隙,因为有了缝隙,search盒子就装不下input和button
两个标签了,此时button会另起一行。
而浮动的两个盒子是没有缝隙的,为了在search里面,要给它们加浮动 */
}
.user{
float: right;
line-height: 42px;
margin-right: 30px;
font-size: 14px;
color: #666;
}
/* 第二栏 */
.adv{
height: 421px;
background: #1c036c;
}
/* 背景 */
.adv .php{
height: 421px;
background-image: url(images/adv.png);
background-repeat: no-repeat;
margin: 0 auto;
}
/* 侧边栏 */
.adv .cebianlan{
float: left;
width: 190px;
height: 421px;
background-color: rgba(0, 0, 0, 0.3);
/* padding: 10px 0; */
}
.adv .cebianlan ul li{
/* display: inline-block; */
height: 45px;
line-height: 45px;
padding: 0 20px;
}
.adv .cebianlan ul li a{
font-size: 14px;
color: #ffffff;
}
.adv .cebianlan ul li a:hover{
color: #00b4ff;
}
.adv .cebianlan ul li a span{
float: right;
}
.adv .php .course{
float: right;
width: 230px;
height: 300px;
background-color: #fff;
/* 浮动的盒子不会有外边距合并的问题 */
margin-top: 50px;
}
.course h2{
height: 48px;
background-color: #9bceea;
font-size: 18px;
line-height: 48px;
text-align: center;
color: #ffffff;
}
.bd{
padding: 0 20px;
}
.bd ul li {
padding: 15px 0;
border-bottom: 1px solid #ccc;
}
.bd ul li h4{
font-size: 16px;
color: #4e4e4e;
}
.bd ul li p{
font-size: 12px;
color: #a5a5a5;
}
.bd .more{
display: block;
height: 38px;
border: 1px solid #00a4ff;
margin-top: 5px;
text-align: center;
line-height: 38px;
color: #00a4ff;
font-size: 16px;
font-weight: 700;
}
/* 第三栏 */
.goods{
height: 60px;
background-color: #fff;
margin-top: 10px;
box-shadow: 0 4px 3px 3px rgba(158, 117, 117, 0.1);
/* 后面的三个子元素会继承行高 */
line-height: 60px;
}
.goods h3{
float: left;
margin-left: 30px;
font-style: 16px;
color: #00a4ff;
}
.goods ul{
float: left;
margin-left: 30px;
}
.goods ul li{
float: left;
}
.goods ul li a{
padding: 0 30px;
font-style: 16px;
color: #050505;
border-left: 1px solid #ccc;
}
.goods .mod{
float: right;
margin-right: 30px;
font-size: 14px;
color: #00a4ff;
}
/* 第四栏 */
.box{
margin-top: 30px;
}
.box-hd{
height: 45px;
}
.box-hd h3{
float: left;
font-size: 20px;
color: #494949;
}
.box-hd a{
color: #a5a5a5;
float: right;
font-size: 12px;
margin-top: 10px;
margin-right: 30px;
}
/* 把li的父亲ul修改得足够宽一行就能装下五个盒子了,并且不影响美观 */
.box-bd ul{
width: 1225px;
}
.box-bd ul li{
float: left;
width: 228px;
height: 270px;
background-color: #fff;
margin-right: 15px;
margin-bottom: 15px;
}
.box-bd ul li img{
width: 100%;
}.box-bd ul li h4{
margin: 20px 20px 20px 25px;
font-size: 14px;
color: #050505;
font-weight: 400;
}
.box-bd .info{
margin: 0 20px 0 25px;
font-size: 12px;
color: #999;
}
.box-bd .info span{
color: #ff7c2d;
}
/* 最后一栏 */
.footer{
height: 415px;
background-color: #fff;
}
.footer .w{
padding-top: 35px;
}
.copyright{
float: left;
}
.copyright p{
font-size: 12px;
color: #666;
margin: 20px 0 15px 0;
}
.copyright .app{
display: block;
width: 118px;
height: 33px;
border: 1px solid #00a4ff;
text-align: center;
line-height: 33px;
color: #00a4ff;
font-size: 16px;
}
.link{
float: right;
}
.link dl{
float: left;
margin-left: 100px;
}
.link dl dt{
font-size: 16px;
color: #333;
}
.link dl dd{
color: #333;
font-size: 12px;
}