目录
一.css样式补充
1.精灵图
项目中将多张小图片,合并成一张大图片,这张大图片称之为精灵图
优点:减少服务器发送次数,减轻服务器的压力,提高页面加载速度
使用步骤:
- 创建一个盒子
- 通过PxCook量取小图片大小,将小图片的宽高设置给盒子
- 将精灵图设置为盒子的背景图片
- 通过PxCook测量小图片左上角坐标,分别取负值设置给盒子的background-position:x y
2.背景图片大小
设置背景图片的大小 background-size: 宽 高;
- 数字px 简单方便,常用
- 百分比 相当于当前盒子自身宽高百分比
- contain 包含, 将背景图片等比例缩放, 直到不会超出盒子的最大
- cover 覆盖, 将背景图片等比例缩放, 直到刚好填满整个盒子没有空白
连写: background:color image repeat position/size; 单独的样式写连写的下面或写在连写的里面
3.阴影
(1)文字阴影
- h-shadow 必须,水平偏移量,允许负值
- v-shadow 必须,垂直偏移量,允许负值
- blur 可选,模糊度
- color 可选,阴影颜色
(2)盒子阴影
- 顺序:box-shadow: h-shadow v-shadow blur spread color inset;
- spread 可选,阴影扩大
- inset 可选,将阴影改为内部阴影
4过渡
让元素的样式慢慢的变化,常配合hover使用,增强网页交互体验 transition
- 过渡需要:默认状态 和 hover状态样式不同,才能有过渡效果
- transition属性给需要过渡的元素本身加 谁变谁加过渡属性
- transition属性设置在不同状态中,效果不同的 ① 给默认状态设置,鼠标移入移出都有过渡效果 ② 给hover状态设置,鼠标移入有过渡效果,移出没有过渡效果
二.项目前置认知
1.网页与网站的关系
2.骨架标签
(1)DOCTYPE文档说明
<!DOCTYPE html>文档类型声明,告诉浏览器该网页的 HTML版本
(2)网页语言
<html lang="en"> 常见语言:zh-CN 简体中文 / en 英文
(3)字符编码
<meta charset="UTF-8"> 保存和打开的字符编码需要统一设置,否则可能会出现 乱码
常见字符编码: UTF-8(万国码,国际化的字符编码,收录了全球语言的文字),GB2312(6000+ 汉字), GBK(20000+ 汉字)
3.SEO三大标签
(1)简介
SEO(Search Engine Optimization):搜索引擎优化 让网站在搜索引擎上的排名靠前
提升SEO的常见方法:竞价排名,将网页制作成html后缀,标签语义化(在合适的地方使用合适的标签)
(2)三大标签
- title:网页标题标签
- description:网页描述标签
- keywords:网页关键词标签
4.ico图标设置
三.项目结构搭建
1.文件和目录准备
2.基础公共样式
一般项目开始前,首先会 去除掉浏览器默认样式,设置为当前项目需要的初始化样式
防止不同浏览器中标签默认样式不同的影响,统一不同浏览器的默认显示效果,方便后续项目开发
要求: 已经准备好base.css代码,同学们需要认识,项目中可以直接引入使用
3.index页面骨架
学成在线
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>学成在线</title>
<!-- 关联index.css样式 -->
<link rel="stylesheet" href="./css/index.css">
</head>
<body>
<!-- 头部header: 负责头部区域的样式, wrapper只负责版心处理 -->
<div class="header wrapper">
<h1>
<a href="#"><img src="./images/logo.png" alt=""></a>
</h1>
<!-- 导航 -->
<div class="nav">
<ul>
<li><a href="#">首页</a></li>
<li><a href="#">课程</a></li>
<li><a href="#">职业规划</a></li>
</ul>
</div>
<!-- 搜索 -->
<div class="search">
<input type="text" placeholder="输入关键词">
<button></button>
</div>
<!-- 用户 -->
<div class="user">
<img src="./images/hhh]png.png" alt="">
<span>mm</span>
</div>
</div>
<!-- 轮播区域 -->
<div class="banner">
<div class="wrapper">
<div class="left">
<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>
<div class="right">
<h3>我的课程表</h3>
<div class="content">
<dl>
<dt>继续学习 程序语言设计</dt>
<dd>正在学习-使用对象中</dd>
</dl>
<dl>
<dt>继续学习 程序语言设计</dt>
<dd>正在学习-使用对象中</dd>
</dl>
<dl>
<dt>继续学习 程序语言设计</dt>
<dd>正在学习-使用对象中</dd>
</dl>
</div>
<a href="#"class="more" >全部课程</a>
</div>
</div>
</div>
<!-- 精品推荐 -->
<div class="goods wrapper">
<h3>精品推荐</h3>
<ul>
<li><a herf="#">JQuery</a></li>
<li><a herf="#">MySQL</a></li>
<li><a herf="#">Spark</a></li>
<li><a herf="#">JavaWeb</a></li>
<li><a herf="#">JavaEE</a></li>
<li><a herf="#">MyBatis</a></li>
</ul>
<a herf="#" class="interest">修改兴趣</a>
</div>
<!-- 精品推荐课程 -->
<div class="box wrapper">
<div class="title">
<h3>精品课程</h3>
<a href="#">查看全部 </a>
</div>
<div class="content clearfix">
<ul>
<li>
<a href="#">
<img src="./images/course02.png" alt="">
<h4>用轮子不够?我们拆轮子</h4>
<p><span>高级</span>• 86 studying!</p>
<img src="./images/hot.png" alt="" class="hot">
</a>
</li>
<li>
<a href="#">
<img src="./images/course02.png" alt="">
<h4>用轮子不够?我们拆轮子</h4>
<p><span>高级</span>• 86 studying!</p>
</a>
</li>
<li>
<a href="#">
<img src="./images/course02.png" alt="">
<h4>用轮子不够?我们拆轮子</h4>
<p><span>高级</span>• 86 studying!</p>
</a>
</li><li>
<a href="#">
<img src="./images/course02.png" alt="">
<h4>用轮子不够?我们拆轮子</h4>
<p><span>高级</span>• 86 studying!</p>
</a>
</li><li>
<a href="#">
<img src="./images/course02.png" alt="">
<h4>用轮子不够?我们拆轮子</h4>
<p><span>高级</span>• 86 studying!</p>
</a>
</li>
<li>
<a href="#">
<img src="./images/course04.png" alt="">
<h4>双剑合璧打造高效高质App!</h4>
<p><span>高级</span>• 75 studying!</p>
<img src="./images/hot.png" alt="" class="hot">
</a>
</li>
<li>
<a href="#">
<img src="./images/course04.png" alt="">
<h4>双剑合璧打造高效高质App!</h4>
<p><span>高级</span>• 75 studying!</p>
</a>
</li>
<li>
<a href="#">
<img src="./images/course04.png" alt="">
<h4>双剑合璧打造高效高质App!</h4>
<p><span>高级</span>• 75 studying!</p>
</a>
</li>
<li>
<a href="#">
<img src="./images/course04.png" alt="">
<h4>双剑合璧打造高效高质App!</h4>
<p><span>高级</span>• 75 studying!</p>
</a>
</li>
<li>
<a href="#">
<img src="./images/course04.png" alt="">
<h4>双剑合璧打造高效高质App!</h4>
<p><span>高级</span>• 75 studying!</p>
</a>
</li>
</ul>
</div>
</div>
<!-- 版权 -->
<!-- li都浮动了,脱标,撑不开父级的高度 -->
<div class="footer">
<div class="wrapper">
<div class="left">
<img src="./images/logo.png" alt="">
<p>学成在线致力于普及中国最好的教育它与中国一流大学和机构合作提供在线课程。<br>
© 2017年XTCG Inc.保留所有权利。-沪ICP备15025210号</p>
<a href="#">下载App</a>
</div>
<div class="right">
<dl>
<dt><h3>合作伙伴</h3></dt>
<dd><a href="#">合作机构</a></dd>
<dd><a href="#">合作导师</a></dd>
</dl>
<dl>
<dt><h3>合作伙伴</h3></dt>
<dd><a href="#">合作机构</a></dd>
<dd><a href="#">合作导师</a></dd>
</dl>
<dl>
<dt><h3>合作伙伴</h3></dt>
<dd><a href="#">合作机构</a></dd>
<dd><a href="#">合作导师</a></dd>
</dl>
</div>
</div>
</div>
</body>
</html>
/* index.css 是用来美化首页的 */
/* 清除默认样式 */
/* 1.去除内外边距 */
* {
margin: 0;
padding: 0;
/* 内减模式 */
box-sizing: border-box;
}
/* 2.去除列表圆点 */
li{
list-style: none;
}
/* 3.去除超链接下划线 */
a{
text-decoration: none;
}
/* 4.去除浮动影响 */
.clearfix::before,.clearfix::after{
content: "";
display: table ;
}
.clearfix::after{
clear: both;
}
body{
background-color: #f3f5f7;
}
/* 版心盒子 wrapper */
.wrapper{
width: 1200px;
margin: 0 auto;
}
/* 头部 */
.header{
height: 42px;
/* background-color: pink; */
/* 如果直接用margin: 30px auto; 需要auto,否则会将版心居中覆盖掉 */
margin-top: 30px;
margin-bottom: 30px;
}
h1{
float: left;
}
/* 导航 */
.nav{
float: left;
margin-left: 70px;
height: 42px;
/* background-color: green; */
}
.nav li{
float: left;
margin-right: 26px;
}
.nav li a{
display: block;
padding: 0 9px; /*边框与内容之间的距离*/
height: 42px;
line-height: 42px;
/* border-bottom: 2px solid #00a4ff; 边框线 */
font-size: 18px;
color: black;
}
.nav li a:hover{
border-bottom: 2px solid #00a4ff ; /* 设置边框线,鼠标悬停显示 */
}
/* 搜索框 */
.search{
float: left;
margin-left: 59px;
/* 总框412px:搜索按钮图片尺寸50px,左右边框2+2=4px,输入框358px */
width: 412px;
height: 42px;
border: 2px solid #00a4ff;
}
/* 输入框 */
.search input{
float: left;
padding-left: 20px;
width: 358px;
height: 38px;
border: 0;
}
/* 控制placeholder的样式, 文本框内灰色字样 */
.search input::placeholder{
font-size: 14px;
color: #bfbfbf;
}
/* 搜索按钮 */
.search button{
float: left;
width: 50px;
height: 40px;
background-image: url(../images/btn.png);
border: 0;
}
/* 用户 */
.user{
float: right;
margin-right: 35px;
/* 不设置宽度,用户名长度不固定 */
height: 42px;
line-height: 42px;
}
/* 调节图片对齐方式 */
.user img{
vertical-align: middle; /*垂直居中*/
}
/* 轮播区域 */
/* 通栏 */
.banner{
height: 420px;
background-color: #1c036c;
}
/* 版心 */
.banner .wrapper{
height: 420px;
background-image: url(../images/banner2.png);
}
/* */
.banner .left{
float: left;
padding: 0 20px;
width: 190px;
height: 420px;
background-color: rgba(0,0,0, 0.3);
/*控制文字的属性,能继承 */
line-height: 44px;
}
/* 箭头靠右 */
.banner .left span{
float: right;
}
.banner .left a{
font-size: 14px;
color: white;
}
.banner .left a:hover{
color: skyblue;
}
.banner .right{
float: right;
margin-top: 50px ;
width: 228px;
height: 300px;
background-color: rgba(114, 113, 119, 0.379);
}
.banner .right h3{
height: 48px;
background-color: #9bcdea93;
text-align: center;
line-height: 48px;
color: rgba(255, 255, 255, 0.468) ;
}
.banner .right .content{
padding: 0 18px;
}
.banner .right .content dl{
padding: 11px 0;
border-bottom: 2px solid #e5e5e563;
}
.banner .right .content dt{
font-size: 16px;
color: #c8c5c5;
}
.banner .right .content dd{
font-size: 14px;
color: #b7b2b298;
}
.banner .right .more{
display: block;
margin: 4px 14px 0;
width: 200px;
height: 50px;
border: 2px solid #00a6ff7c;
font-size: 16px;
color: #00a6ff72;
font-weight: 700; /*加粗*/
text-align: center;
line-height: 40px;
}
/* 精品推荐 */
.goods{
margin-top: 8px;
padding-left: 34px;
padding-right: 26px;
height: 60px;
background-color: rgb(244, 239, 241);;
box-shadow: 0px 2px 3px 0px rgba(118, 118, 118, 0.2); /*阴影*/
line-height: 60px;
}
.goods h3{
float: left;
color: #00a4ff;
font-weight: 400;
}
.goods ul{
float: left;
margin-left: 30px;
}
.goods ul li{
float: left;
}
.goods li a{
border-left: 2px solid rgb(206,211,211);
padding: 0 30px;
font-size: 16px;
color: #050505;
}
.goods .interest{
float: right;
font-size: 15px;
color: #00a4ff;
}
/* 精品课程 */
.box{
margin-top: 35px;
}
.box .title{
height: 40px;
/* background-color: pink; */
}
.box .title h3{
float: left;
font-size: 20px;
font-weight: 400;
}
.box .title a{
float: right;
margin-right: 30px;
font-size: 15px;
color: #706b6b;
}
.box .content li{
float: left;
margin-right: 15px;
margin-bottom: 15px;
width: 228px;
height: 270px;
background-color: rgb(244, 239, 241);
}
.box .content li:nth-child(5n){
margin-right: 0;
}
.box .content li h4{
margin-top: 20px;
margin-left: 17px;
color: #050505;
font-weight:550;
}
.box .content li p{
margin-top: 15px;
padding: 0 20px;
font-size: 14px;
color: #706b6b;
}
.box .content li span{
color: orange;
}
/* 定位小图 hot */
.box .content li{
position: relative;
}
.box .content li .hot{
position: absolute;
right: -4px;
top: 4px;
}
/* 版权 */
.footer{
margin-top: 40px;
padding-top: 30px;
height: 417px;
background-color:rgb(244, 239, 241);
}
.footer .left{
float: left;
}
.footer .left p{
margin-top: 15px;
font-size: 13px;
color: #666
}
.footer .left a{
display: block;
margin-top: 30px;
width: 150px;
height: 40;
border: 2px solid rgb(108, 197, 233);
text-align: center;
line-height: 36px;
font-size: 16px;
font-weight: 600;
color: rgb(69, 186, 232);
}
.footer .right{
float: right;
}
.footer .right dl{
float:left;
margin-left: 120px;
color: #4e4e4e;
}
.footer .right dd{
margin-top: 12px;
font-size: 16px;
}
.footer .right a{
display: block;
color: rgb(92, 91, 91);
}