/* 当我们鼠标经过button 按钮的时候,鼠标变成小手 */
cursor: pointer
}
a {
color: #666;
text-decoration: none
}
a:hover {
color: #c81623
}
button,
input {
/* “\5B8B\4F53” 就是宋体的意思 这样浏览器兼容性比较好 */
font-family: Microsoft YaHei, Heiti SC, tahoma, arial, Hiragino Sans GB, “\5B8B\4F53”, sans-serif
border: 0;
outline: none;
}
body {
/* CSS3 抗锯齿形 让文字显示的更加清晰 */
-webkit-font-smoothing: antialiased;
background-color: #fff;
font: 12px/1.5 Microsoft YaHei, Heiti SC, tahoma, arial, Hiragino Sans GB, “\5B8B\4F53”, sans-serif;
color: #666
}
.hide,
.none {
display: none
}
/* 清除浮动 */
.clearfix:after {
visibility: hidden;
clear: both;
display: block;
content: “.”;
height: 0
}
.clearfix {
*zoom: 1
}
/* 字体图标 */
.iconfont {
font-family: “iconfont” !important;
color: #c81623;
font-size: 16px;
font-style: normal;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
@font-face {
font-family: “iconfont”; /* Project id */
src: url(‘…/fonts/iconfont.ttf?t=1647274788606’) format(‘truetype’);
}
3). 模块化开发
6.网站 favicon 图标(★★★)
favicon.ico 一般用于作为缩略的网站标志,它显示在浏览器的地址栏或者标签上。目前主要的浏览器都支持 favicon.ico 图标。
1)制作favicon图标
-
把品优购图标切成
png
图片 -
把
png
图片转换为ico
图标,这需要借助于第三方转换网站,例如比特虫:http://www.bitbug.net/
2)使用favicon图标
favicon图标放到网站根目录下
HTML页面引入favicon图标
在html 页面里面的 <head> </head>
元素之间引入代码
7.TDK三大标签SEO优化(★★)
1)SEO是什么
**SEO(Search Engine Optimization)**汉译为搜索引擎优化,是一种利用搜索引擎的规则提高网站在有关搜索引擎内自然排名的方式。
SEO 的目的是对网站进行深度的优化,从而帮助网站获取免费的流量,进而在搜索引擎上提升网站的排名,提高网站的知名度。
页面必须有三个标签用来符合 SEO 优化
2)TDK是什么
T – Title(网站标题)
title 具有不可替代性,是我们内页的第一个重要标签,是搜索引擎了解网页的入口和对网页主题归属的最佳判断点。
**建议:**网站名(产品名)- 网站的介绍 (尽量不要超过30个汉字)
例如:
-
京东(JD.COM)-综合网购首选-正品低价、品质保障、配送及时、轻松购物!
-
小米商城 - 小米5s、红米Note 4、小米MIX、小米笔记本官方网站
D – description(网站描述)
简要说明我们网站主要是做什么的。
我们提倡,description 作为网站的总体业务和主题概括,多采用“我们是…”、“我们提供…”、“×××网作为…”、“电话:010…”之类语句。
例如:
<meta name="description" content="京东JD.COM-专业的综合网上购物商城,销售家电、数码通讯、电脑、家居百货、服装服饰、母婴、图书、食品等数万个品牌优质商品.便捷、诚信的服务,为您提供愉悦的网上购物体验!" />
K – keywords (关键字)
keywords 是页面关键词,是搜索引擎的关注点之一。
keywords 最好限制为 6~8 个关键词,关键词之间用英文逗号隔开,采用 关键词1,关键词2 的形式
例如:
<meta name= " keywords" content="网上购物,网上商城,手机,笔记本,电脑,MP3,CD,VCD,DV,相机,数码,配件,手表,存储卡,京东" />
对于我们前端人员来说,我们只需要准备好这三个标签,具体里面的内容,有专门的 SEO 人员准备
示例代码
…
<meta name=“description”
content=“品优购商城-专业的综合网上购物商城,销售家电、数码通讯、电脑、家居百货、服装服饰、母婴、图书、食品等数万个品牌优质商品.便捷、诚信的服务,为您提供愉悦的网上购物体验!” />
…
我们开始制作首页的头部和底部的时候,根据模块化开发,样式要写到common.css里面
1)常用模块类名命名
2)公共部分 – header 头部制作
快捷导航 shortcut 制作(★★)
布局思路
-
通栏的盒子命名为 shortcut ,是快捷导航的意思。 注意这里的行高,可以继承给里面的子盒子
-
里面包含版心的盒子
-
版心盒子里面包含 1 号左侧盒子左浮动
-
1 号盒子 里面包含一个
ul
,ul
包裹li,第一个li里面包裹文字就行,因为不能点击,第二个li包含两个a标签 -
里面的内容是水平排列,所以需要给
li
设置浮动 -
文字要垂直居中,我们可以给 shortcut设置行高,因为行高可以继承,里面的孩子就不需要设置了
-
版心盒子里面包含 2 号右侧盒子右浮动
-
2 号盒子 里面包含一个
ul
,ul
包裹li
,中间的|
可以用样式去设置,也可以用字符 | -
里面内容水平排列,给
li
设置浮动 -
找到里面所有偶数的
li
设置样式(偶数的li
显示是一个 | 竖线,所以需要单独选择出来设置样式,利用nth-child就可以实现) -
需要用到字体图标
-
利用伪元素的方式来实现字体图标,给需要添加的标签设置类名为 :
arrow-icon
-
先要引入字体图片的资源
-
在样式里面利用 font-face 来进行声明
-
在伪元素的 content属性设置 图标的编码
-
给伪元素设置font-family属性
结构示例代码
- 品优购欢迎您!
-
- 我的订单
- 品优购会员
- 企业采购
样式示例代码
/* 声明字体图标 这里一定要注意路径的变化 */
@font-face {
font-family: ‘icomoon’;
src: url(‘…/fonts/icomoon.eot?tomleg’);
src: url(‘…/fonts/icomoon.eot?tomleg#iefix’) format(‘embedded-opentype’),
url(‘…/fonts/icomoon.ttf?tomleg’) format(‘truetype’),
url(‘…/fonts/icomoon.woff?tomleg’) format(‘woff’),
url(‘…/fonts/icomoon.svg?tomleg#icomoon’) format(‘svg’);
font-weight: normal;
font-style: normal;
font-display: block;
}
/* 快捷导航模块 */
.shortcut {
height: 31px;
line-height: 31px;
background-color: #f1f1f1;
}
.shortcut ul li {
float: left;
}
/* 选择所有的偶数的小li */
.shortcut .fr ul li:nth-child(even) {
width: 1px;
height: 12px;
background-color: #666;
margin: 9px 15px 0;
}
.arrow-icon::after {
content: ‘\e91e’;
font-family: ‘icomoon’;
margin-left: 6px;
}
header头部模块搭建(★★★)
- header 盒子必须要有高度
logo_SEO_优化
-
1 号盒子是
logo
标志定位,在正常开发过程中,logo的布局其实是有讲究的,需要进行logoSEO
的优化 (★★★) -
logo
里面首先放一个h1
标签,目的是为了提权,告诉搜索引擎,这个地方很重要 -
h1
里面再放一个链接,可以返回首页的,把logo
的背景图片给链接即可 -
为了搜索引擎收录我们,我们链接里面要放文字(网站名称),但是文字不要显示出来
-
方法1:
text-indent
移到盒子外面(text-indent: -9999px
) ,然后overflow:hidden
,淘宝的做法 -
方法2:直接给
font-size: 0;
就看不到文字了,京东的做法 -
最后给链接一个
title
属性,这样鼠标放到logo
上就可以看到提示文字了
结构代码
样式代码
/* header 头部制作 */
.header {
position: relative;
height: 105px;
}
.logo {
position: absolute;
top: 25px;
width: 171px;
height: 61px;
}
.logo a {
display: block;
width: 171px;
height: 61px;
background: url(…/images/logo.png) no-repeat;
/* font-size: 0;京东的做法*/
/* 淘宝的做法让文字隐藏 */
text-indent: -9999px;
overflow: hidden;
}
-
2 号盒子是
search
搜索模块定位 -
search盒子利用定位的方式放在对应的位置
-
search盒子设置绝对定位,header盒子设置相对定位
-
search盒子里面包含两个子元素,一个是输入框,一个是按钮,分别跟定固定的宽高(搜索框 宽度:454px;按钮宽度:80px)
-
输入框和按钮本来就是行内块元素,在一行显示,但是中间会有间隙,所以我们可以让让这两个元素浮动起来
结构代码
搜索
样式代码
.search {
position: absolute;
left: 346px;
top: 25px;
width: 538px;
height: 36px;
border: 2px solid #b1191a;
}
.search input {
float: left;
width: 454px;
height: 32px;
padding-left: 10px;
}
.search button {
float: left;
width: 80px;
height: 32px;
background-color: #b1191a;
font-size: 16px;
color: #fff;
}
-
3 号盒子是
hotwords
热词模块定位 -
热词模块怎么简单怎么来,直接在里面放a标签即可
-
给里面所有的a标签设置 左右10px的外边距
-
给第一个a标签设置文字变红色(#c81623)
结构代码
样式代码
.hotwords {
position: absolute;
top: 66px;
left: 346px;
}
.hotwords a {
margin: 0 10px;
}
-
4 号盒子是
shopcar
购物车模块 -
在
shopcar
里面添加一个before伪元素和after伪元素,分别放置 购物车的图标和 右箭头 -
count 统计部分用绝对定位做
-
count 统计部分不要给宽度,因为可能买的件数比较多,让件数撑开就好了,给一个高度
-
一定注意左下角不是圆角,其余三个是圆角 写法: border-radius: 7px 7px 7px 0;
结构代码
我的购物车
8
样式代码
.shopcar {
position: absolute;
right: 60px;
top: 25px;
width: 140px;
height: 35px;
line-height: 35px;
text-align: center;
border: 1px solid #dfdfdf;
background-color: #f7f7f7;
}
.shopcar::before {
content: ‘\e93a’;
font-family: ‘icomoon’;
margin-right: 5px;
color: #b1191a;
}
.shopcar::after {
content: ‘\e920’;
font-family: ‘icomoon’;
margin-left: 10px;
}
.count {
position: absolute;
top: -5px;
left: 105px;
height: 14px;
line-height: 14px;
color: #fff;
background-color: #e60012;
padding: 0 5px;
border-radius: 7px 7px 7px 0;
}
nav
导航模块制作(★★★)nav
盒子通栏有高度,而且有个下边框,里面包含版心,版心里面包含 1 号盒子 和 2号盒子
结构代码
…
…
样式代码
.nav {
height: 47px;
border-bottom: 2px solid #b1191a;
}
-
1 号盒子左侧浮动,
dropdown
-
1号盒子有讲究,根据相关性 里面包含
.dt
和.dd
两个盒子 -
.dt
内容是全部商品分类,然后把这个盒子的宽高设置跟父亲一样,这样就把.dd
挤到下面去了 -
给
.dd
盒子设置宽度 和 高度,以及背景颜色 -
给
.dd
盒子里面定义 无序列表 (ul > li > a
) -
每个
li
都有一个高度(31px
),宽度可以不用设置,让文字垂直居中,左边设置2个像素的margin值 -
给
li
里面的a设置文字大小(14px
) -
给
li
设置hover
,当鼠标移入的时候,让li
的背景变成白色,让里面的文字变成红色 -
li
右侧的三角 就可以利用 伪元素来实现,给伪元素设置字体图标,利用定位的方式放在li
的右侧,那么给li
设置相对定位
结构代码
全部商品分类- 家用电器
- 手机、 数码、通信
- 电脑、办公
- 家居、家具、家装、厨具
- 男装、女装、童装、内衣
- 个户化妆、清洁用品、宠物
- 鞋靴、箱包、珠宝、奢侈品
- 运动户外、钟表
- 汽车、汽车用品
- 母婴、玩具乐器
- 食品、酒类、生鲜、特产
- 医药保健
- 图书、音像、电子书
- 彩票、旅行、充值、票务
- 理财、众筹、白条、保险
样式代码
.dropdown .dt {
width: 100%;
height: 100%;
color: #fff;
text-align: center;
line-height: 45px;
font-size: 16px;
}
.dropdown .dd {
display: none;
width: 210px;
height: 465px;
background-color: #c81623;
margin-top: 2px;
}
.dropdown .dd ul li {
position: relative;
height: 31px;
line-height: 31px;
margin-left: 2px;
padding-left: 10px;
}
.dropdown .dd ul li:hover {
background-color: #fff;
}
.dropdown .dd ul li::after {
position: absolute;
top: 1px;
right: 10px;
color: #fff;
font-family: ‘icomoon’;
content: ‘\e920’;
font-size: 14px;
}
.dropdown .dd ul li a {
font-size: 14px;
color: #fff;
}
.dropdown .dd ul li:hover a {
color: #c81623;
}
-
2 号盒子左侧浮动,
navitems
导航栏组 -
里面结构是
ul > li > a
-
导航栏都是能点击的,所以我们不能给定宽度,给
a
左右的padding
把两侧撑开 -
让文字垂直居中(行高等于高度)
结构代码
-
- 服装城
- 服装城
- 服装城
- 服装城
- 服装城
- 服装城
- 服装城
- 服装城
样式代码
.navitems ul li {
float: left;
}
.navitems ul li a {
display: block;
height: 45px;
line-height: 45px;
font-size: 16px;
padding: 0 25px;
}
3)公共部分 – footer 底部制作
-
footer
页面底部盒子通栏给一个高度(415px)和灰色的背景 -
footer
里面有一个大的版心 -
版心里面包含 1 号盒子,
mod_service
是服务模块,mod 是模块的意思 -
给
mod_service
设置高度(80px)和下边框 -
在里面定义
ul > li
,每个li
宽度是300px 高度是 50px,给每个li
设置35px的左内边距 -
在每个
li
里面,放一个h5
(里面放图标),一个div
(里面放div
和p
) -
给
h5
设置浮动,让h5与这个div左右排列 -
通过精灵图技术(核心思路:利用background-position来实现),把图标设置给h5
结构代码
-
-
正品保障
正品保障,提供发票
-
正品保障
正品保障,提供发票
-
正品保障
正品保障,提供发票
-
正品保障
正品保障,提供发票
样式代码
/* 底部模块制作 */
.footer {
height: 415px;
background-color: #f5f5f5;
padding-top: 30px;
}
.mod_service {
height: 80px;
border-bottom: 1px solid #ccc;
}
.mod_service ul li {
float: left;
width: 300px;
height: 50px;
padding-left: 35px;
}
.mod_service ul li h5 {
float: left;
width: 50px;
height: 50px;
background: url(…/images/icons.png) no-repeat -252px -2px;
margin-right: 8px;
}
.service_txt h4 {
font-size: 14px;
}
.service_txt p {
font-size: 12px;
}
-
版心里面包含 2 号盒子,mod_help 是帮助模块
-
给 mod_help 设置 50px的左内边距和20px的上内边距,给定高度(185px)
-
里面的布局利用 自定义列表来实现(
dl > dt + dd
) -
给
dl
设置浮动,让其可以水平排列,给每个dl盒子设置宽度 -
给
dt
设置文字大小(16px),设置下外边距(10px),让dt
和dd
之间有些距离 -
最后一个 dl 结构和样式不一样,需要单独设置
- 购物流程
- 会员介绍
- 生活旅行/团购
- 常见问题
- 大家电
- 联系客服
- 购物流程
- 会员介绍
- 生活旅行/团购
- 常见问题
- 大家电
- 联系客服
- 购物流程
- 会员介绍
- 生活旅行/团购
- 常见问题
- 大家电
- 联系客服
- 购物流程
- 会员介绍
- 生活旅行/团购
- 常见问题
- 大家电
- 联系客服
- 购物流程
- 会员介绍
- 生活旅行/团购
- 常见问题
- 大家电
- 联系客服
品优购客户端
样式代码
.mod_help {
height: 185px;
border-bottom: 1px solid #ccc;
padding-top: 20px;
padding-left: 50px;
}
.mod_help dl {
float: left;
width: 200px;
}
.mod_help dl:last-child {
width: 90px;
text-align: center;
}
.mod_help dl dt {
font-size: 16px;
margin-bottom: 10px;
}
-
版心里面包含 3 号盒子,mod_copyright 是版权模块
-
分为上下两块,上面是
links
友情链接,下面是copyright
,给mod_copyright 大盒子设置 文字水平居中,20px的上内边距,让上面内容和下面内容之间有些间隙 -
把内容分别复制到相应模块中
-
给
links
设置 15px 的下外边距,给links
里面 的a
标签设置 左右 3px 的外边距 -
给
copyright
设置 20px 的行高
结构代码
关于我们 | 联系我们 | 联系客服 | 商家入驻 | 营销中心 | 手机品优购 | 友情链接 | 销售联盟 | 品优购社区 | 品优购公益 | English Site | Contact U
地址:北京市昌平区建材城西路金燕龙办公楼一层 邮编:100096 电话:400-618-4000 传真:010-82935100 邮箱: zhanghj+itcast.cn
京ICP备08001421号京公网安备110108007702样式代码
.mod_copyright {
text-align: center;
padding-top: 20px;
}
.links {
margin-bottom: 15px;
}
.links a {
margin: 0 3px;
}
.copyright {
line-height: 20px;
}
==============================================================
1)main 主体模块制作
以前书写的就是模块化中的公共部分。
main 主体模块是 index 里面专有的,注意需要新的样式文件 index.css
-
main 盒子宽度为 980 像素,高度是455像素,位置距离左边 220px (margin-left ) ,给高度就不用清除浮动
-
main 里面包含左侧盒子,宽度为 721像素,左浮动,focus 焦点图模块
-
main 里面包含右侧盒子,宽度为 250像素,右浮动,newsflash 新闻快报模块
结构代码
…
…
样式代码
.main {
width: 980px;
height: 455px;
margin-left: 220px;
margin-top: 10px;
}
.focus {
float: left;
width: 721px;
height: 455px;
background-color: purple;
}
.newsflash {
float: right;
width: 250px;
height: 455px;
}
左侧 focus 模块制作
- 大的 focus 盒子 包裹 1 号展示图片的盒子,2号 3号 左右箭头的盒子,4号 小圆点的盒子
-
-
-
包裹 1 号盒子(
ul > li > a > img
),轮播图这样的布局是为了后面方便配置js
逻辑代码 -
2 号盒子 跟 3 号盒子 左右箭头,利用定位的方式来实现
样式代码
.arrow-l,
.arrow-r {
position: absolute;
top: 50%;
margin-top: -20px;
width: 24px;
height: 40px;
background: rgba(0, 0, 0, .3);
text-align: center;
line-height: 40px;
color: #fff;
font-family: ‘icomoon’;
font-size: 18px;
}
.arrow-r {
right: 0;
}
-
4 号盒子 里面放 小圆点 (
ol > li
) -
小圆圈利用边框实现
-
小圆点里面背景颜色来实现
样式代码
.circle {
position: absolute;
bottom: 10px;
left: 50px;
}
.circle li {
float: left;
width: 8px;
height: 8px;
/background-color: #fff;/
border: 2px solid rgba(255, 255, 255, 0.5);
margin: 0 3px;
border-radius: 50%;
/鼠标经过显示小手/
cursor: pointer;
}
.current {
background-color: #fff;
box-shadow:
}
右侧 newsflash 模块制作
- 右侧的模块 分为上中下三个盒子
结构代码
…
…
…
- 1 号盒子为
news
新闻模块 高度为 165px
- 分为上下两个结构,但是两个模块都用 div,上面是
news-hd
,下面是news-bd
结构代码
…
…
样式代码
.news {
height: 165px;
border: 1px solid #e4e4e4;
}
-
上面是
news-hd
,设置高度是 33px,设置下边框 -
里面放一个
h5
标题 -
放一个a
标签
,内容是 更多,然后让a
进行右浮动,三角用伪元素设置字体图标就好
结构代码
品优购快报
样式代码
.news-hd {
height: 33px;
line-height: 33px;
border-bottom: 1px dotted #e4e4e4;
padding: 0 15px;
}
.news-hd h5 {
float: left;
font-size: 14px;
}
.news-hd .more {
float: right;
}
.news-hd .more::after {
font-family: ‘icomoon’;
content: ‘\e920’;
}
-
下面是
news-bd
-
里面包含
ul
和li
还有链接 -
给
li
设置高度,24px,设置单行文字溢出省略: 1. 设置overflow: hidden;
2.设置white-space: nowrap;
3. 设置text-overflow: ellipsis;
结构代码
-
- [重磅] 它来了它来了,pink老师走来了, 它是谁?
- [重磅] 它来了它来了,pink老师走来了
- [重磅] 它来了它来了,pink老师走来了
- [重磅] 它来了它来了,pink老师走来了
- [重磅] 它来了它来了,pink老师走来了, 它是谁?
样式代码
.news-bd {
padding: 5px 15px 0;
}
.news-bd ul li {
height: 24px;
line-height: 24px;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
- 2 号盒子为
lifeservice
生活服务模块 高度为 209px
-
设置边框(左右下 边框)
-
里面的内容 是
ul > 12*li
,给li
设置宽 63px,高71px,设置 右边和下边的边框,设置浮动
小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Web前端开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频
如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注:前端)
前端面试题汇总
JavaScript
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
性能
linux
前端资料汇总
ews-hd h5 {
float: left;
font-size: 14px;
}
.news-hd .more {
float: right;
}
.news-hd .more::after {
font-family: ‘icomoon’;
content: ‘\e920’;
}
-
下面是
news-bd
-
里面包含
ul
和li
还有链接 -
给
li
设置高度,24px,设置单行文字溢出省略: 1. 设置overflow: hidden;
2.设置white-space: nowrap;
3. 设置text-overflow: ellipsis;
结构代码
- 2 号盒子为
- [重磅] 它来了它来了,pink老师走来了, 它是谁?
- [重磅] 它来了它来了,pink老师走来了
- [重磅] 它来了它来了,pink老师走来了
- [重磅] 它来了它来了,pink老师走来了
- [重磅] 它来了它来了,pink老师走来了, 它是谁?
样式代码
.news-bd {
padding: 5px 15px 0;
}
.news-bd ul li {
height: 24px;
line-height: 24px;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
- 2 号盒子为
lifeservice
生活服务模块 高度为 209px
-
设置边框(左右下 边框)
-
里面的内容 是
ul > 12*li
,给li
设置宽 63px,高71px,设置 右边和下边的边框,设置浮动
小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Web前端开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。[外链图片转存中…(img-2FF6kuj5-1711029300163)]
[外链图片转存中…(img-zPhrYrzO-1711029300164)]
[外链图片转存中…(img-JpgaC54x-1711029300164)]
[外链图片转存中…(img-gcRyaFuG-1711029300165)]由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频
如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注:前端)
[外链图片转存中…(img-0TBAy9T2-1711029300165)]前端面试题汇总
JavaScript
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
性能
linux
前端资料汇总
- 2 号盒子为