首页 > 代码库 > 前端开发之css篇

前端开发之css篇

一、css简介

  css(Cascading Style Sheets)层叠样式表,是一种为html文档添加样式的语言,主要有两个功能:渲染和布局。使用css主要关注两个点:查找到标签,属性操作  

二、css的引入方式

(1)行内式引入:

<div style="color:red;font-size: 16px">hello</div>

直接在html语句的属性中设置,这种方法的缺点是html代码和css代码混合在一起,耦合性太强,维护困难

(2)嵌入式引入:

 <style>
        div{
            color: red;
            font-size: 16px;
            background: grey;
        }
    </style>

在html中head部分添加css样式

(3)链接式引入:

单独写一个css文件,在html的头文件中引入。这种方式最常用

<!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">
    <title>Title</title>
    <link rel="stylesheet" href="index.css">

(4)导入式:

在style标签中引入外部的css文件

 <style type="text/css">
        @import "index.css";
    </style>

导入式和链接式引入有区别:

a.加载方式不同:导入式会先导入html,再用css渲染,如果此时网络卡了,在浏览器上显示的就是没有样式的内容,然后再一点点渲染,而链接式是一块加载的

b.链接式链接文件数量没有上限,但是导入式有上限

 

三、css选择器

上面四种引入css样式的方法中,除了缺点最明显的行内式,其他三种方法都需要先找到标签,才能对标签样式进行操作

1.基本选择器

  • 通配选择器  *{color:red}
  • 标签选择器 div{background:green}
  • id选择器  #user{font-size:12px}
  • class选择器  .user{border:1px solid red}

我们在html那篇博客里提到过id,id唯一标识一个标签,但是如果我们想对一系列标签添加同样的样式,肯定不能都用id,可以用class,从字面上理解就是一类具有类似作用的标签,在选择这些标签时用“点类名”的方式,而且class 也没有不能重名的限制

通用选择器一般用在预处理,初识化的时候

2.组合选择器

有时只用基本选择器并不能让我们准确找到标签,还需要用到一些组合标签

  • c1,c2    多元素选择器,同时匹配所有的c1元素和c2元素
  • c1 c2    后代选择器,匹配所有属于c1后代的c2元素
  • c1 > c2  子代选择器,用后代选择器有个问题,所有属于c1的后代都会被选择,包括孙子代,用子代选择器就不会有这个问题,子代选择器只会选择自己的儿子这一层级
  • c1+c2    毗邻元素选择器,匹配所有紧挨着c1元素之后的同级元素
  • c1~c2    普通兄弟元素,这个和毗邻元素选择器的区别就是,没有了紧挨着的限制

3.属性选择器

对于标签的固有属性,如id和class,可以通过#或.的方式找到。

如果是自定义属性,就要通过中括号的方式

 <style>
        #cl1{
            color: #000;
        }
        .c1{
            font-size: 12px;
        }
        div[zhang]{
            background: red;
        }
    </style>
</head>
<body>
    <div class="c1" id="cl1" zhang="123">123</div>
</body>

当有多个相同的自定义属性时,还可以用属性值区分,如div[zhang="123"]{}

四、伪类

1.anchor伪类:

  我们浏览网页的时候,有时会遇到鼠标放在一个元素上时,元素会发生变化的情况,这就是通过anchor伪类实现的,不止有鼠标悬浮的样式,还可以设置点击时,以及点击后的样式

  a:link   默认状态

  a:hover    鼠标悬浮在元素上的样式

  a:visited   点击过的元素的样式

  a:active    在元素上按下鼠标时的样式

这四个标签是针对于a标签用的,但不限于a标签,其中hover是最常用的

技术分享
<!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">
    <title>Title</title>
    <style>
        .out{
            width: 300px;
            height: 300px;
            background: greenyellow;
        }
        .out:hover{
            background: red;
        }
        .out:visited{
            background: white;
        }
        .out:active{
            background: black;
        }
    </style>
</head>
<body>
    <div class="out">
        <div class="c1"></div>
        <div class="c2"></div>
    </div>

</body>
</html>
View Code

还可以在父级添加伪类,修改子级标签,这种情况应用也很广泛

技术分享
<!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">
    <title>Title</title>
    <style>
        .out{
            width: 300px;
            height: 300px;
            background: greenyellow;
        }
        .c1{
            width: 100px;
            height: 100px;
            background: gold;
        }
        .out:hover .c1{
            background: red;
        }
        .out:visited{
            background: white;
        }
        .out:active{
            background: black;
        }
    </style>
</head>
<body>
    <div class="out">
        <div class="c1"></div>
        <div class="c2"></div>
    </div>

</body>
</html>
View Code

2.before after伪类

这个伪类的作用是在选择的标签的前面或者后面加一个内容

    <style>
        p:after{
            content: ‘world‘;
            color: #2b99ff;
        }
    </style>
</head>
<body>
    <p>hello</p>
</body>

这样会在浏览器中显示helloworld,但是从网页的html源码中是找不到world的,这个伪类的主要作用就是把一些会让读者看不懂的代码,写到伪类中,比如布局的时候需要一个空的div标签,如果写到源码中,读者读到这个位置可能会造成误解。所以就写到伪类中。content的属性值,更多的时候是空的。

五、选择器的优先级

  如果我们不小心用不同的选择器,选定了同一个标签,那这个标签的样式,应该取决于哪个选择器呢,这就用到了选择器的优先级。

  不同的选择器,有不同的权重值,

  行内式:             1000

          id:                    100

    class:                     10

 element(标签):    1

还有两种,一种是在样式后面加!import的,这种是不看规则的,他的权重最高,惹不起

另一种就是默认继承的样式,这种最怂,权重值最低

遇到子类,权重值是相加的

那种差十倍的,咱们就不比较了,就比较个差一个权重的,意思意思就行了

    <style>
        .c3{
            background: red;
        }
        .c2 .c3{
            background: green;
        }
        .c1 .c2 .c3{
            background: gold;
        }
    </style>
</head>
<body>
    <div class="c1">
        <div class="c2">
            <div class="c3">123</div>
        </div>
    </div>
</body>

这个例子,.c3的权重值是10,

     .c2 .c3的权重是10+10=20,

     .c1 .c2 .c3 的权重值是10+10+10=30

所以最终结果,背景颜色一定是金黄色,通过这个例子就能明白选择器的优先级

以后如果遇到样式改不了的情况,就要考虑是否在之前有比它优先级更高的标签

六、css属性

1.字体的属性

(1)颜色:设置颜色有三种方式:

  • 十六进制值,如#3e3e3e
  • RGB值,如RGB(255,255,0)
  • 颜色的英文名称,如red,green
  • rgba :在RGB的时候,还可以指定透明度,如 RGBa(255,120,120,0,5)

(2)对齐方式:默认是左对

  对齐方式的属性是text-align,属性值:

  • left  左对齐
  • center  居中
  • right  右对齐
  • justify  两端对齐

(3)其他属性

            font-size: 12px;文本字体大小
font-weight: 500;字体粗细,100-900
font-family: Arial;字体库
font-style: italic;斜体;
line-height: 20px;行高
vertical-align: middle;设置元素的垂直对齐方式,对块级元素无效
text-decoration: none;这个主要用于去除a标签的下划线,当然也可以添加下划线
text-indent: 100px;首行缩进
word-spacing: 10px;单词间距
letter-spacing:20px;字符间距
text-shadow:2px 2px #ff000;文字阴影
text-transform:uppercase; 文本转换属性,把所有字母变成大写

 

重点说一下vertical-align和line-heigh,这两个属性在对齐的时候经常会用到

(1)vertical-align

每一个元素自身都会有四条线,顶线,中线,基线,底线

技术分享

让图片和文字在一行显示的时候,默认是按照基线对齐的,我们可以在图片标签的样式中设置按中线对齐或者底线

 (2)line-height

对于块级标签,把行高设置成和块级元素的高度一样,就会垂直居中了。

 2.背景

我们知道可以在标签的样式中加背景色,其实背景不仅可以是纯色,还可以是图片

background: url("logo.png") no-repeat 0 0;
  • url后面放的是图片的地址,可以是本地地址,也可以是网络地址
  • no-repeat是设置图片的的填充方式,还可以设置成横向填充(repeat-x),纵向填充(repeat-y)
  • 最后两个值是图片位置,以像素为单位,0 0 就表示在页面的左上角,可以设置成center center 就在页面中心了

把背景设置成图片,应用最多的是网页上的小图标,大部分这些图标并不是一张张小的图片,而是一整张大的图片,包含很多小图标,通过移动位置让他们在希望的位置显示想要的部分。

 3.边框

有三个属性:border-width:1px边框宽度

      border-style:solid边框样式,可以是实心也可以是虚线、点实线。。。

      border-color:red 边框颜色

使用的时候一般都简写成 border:1px solid red    这三个属性值没有顺序

还可以单独设置四个方向的边框

可以用边框的性质画一个三角形:

技术分享
    <style>
        div{
            width: 0;
            height: 0;
            border:50px solid green;
            border-bottom-color: red;
            border-top:none;;
        }
    </style>
View Code

4.列表属性

在html中,列表的每一项前面的圆点我们没办法修改,在css中就可以了

list-style-type   设置列表项标志的类型,disc是实心圆点,square是正方形实心块。。

list-style-image 用图片当作列表项的标志

list-style-position    设置列表项标志的位置

但是,以上用的都不多,用的最多的是取消列表项标志

list-type:none

 

七、display属性

有四个属性值:none,block,inline ,inline-block

1.none

display:none  隐藏标签,这个隐藏的意思是不仅这个标签看不到了,而且这个标签在页面中占据的位置也没有了,其他内容会来占据这个位置,比如京东天猫这些网站的首页中那个轮播图,其实是好多张图片都在同一个位置,但是同一时刻只显示一张,其他的都隐藏 了

 

2.block 把内联标签变成块级标签

块级标签在页面中是独占一行的,可以设置宽度和高度

而内联标签是并排显示,除非一行放不下了才会换行,内联标签设置宽高无效

3.inline 把块级标签变成内联标签

 

4.inline-block,这个才是最常用的,这个属性可以让标签既能并排显示,又有块级标签可以设置宽高的特性

 

八、盒子模型

网页上的每个元素,都可以理解为一个盒子,盒子有自己的空间,有宽度(width)和高度(height),盒子里面存放东西(content),存放的东西与盒子间的距离就是内边距(padding),盒子有自己的边框(border),盒子与盒子之间的距离叫做外边距(margin)

技术分享

事实上,我们也应该把每个块级元素都当作一个盒子,不指定宽高的话,默认宽度是浏览器宽度,默认高度是内容高度

可以单独设置四个方向的边距,分别为top,right,bottom,left

设置maigin或者padding时,后面的值可以设置一个,也可以设置多个,顺序是上,右,下,左

margin:10px;         表示盒子上下左右四个边距都是10px

margin:10px,20px;        表示盒子上下边距是10px,左右是20px

margin:10px,20px,30px;    上边距10px,右边距20px,下边距30px

如果两个同级盒子的上下边距设置分别为10px和20px,最终两个并列的盒子之间的距离是20px,会取两个值的最大值,而不是两个值相加

我们来看一下父级塌陷问题

<!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">
    <title>Title</title>
    <style>
        *{
            margin:0;
        }
        .c1{
            width: 300px;
            height: 100px;
            background: gold;
        }
        .c2{
            background: purple;
        }
        .c3 {
            width: 100px;
            height: 100px;
            background: green;
        }
        .c4{
            width: 100px;
            height: 100px;
            background: #2b99ff;
        }
    </style>
</head>
<body>
    <div class="c1"></div>
    <div class="c2">
        <div class="c3"></div>
        <div class="c4"></div>
    </div>
</body>
</html>

看一下这个例子,c1和c2是兄弟关系,c3,c4是c2的子级,现在在浏览器中是这样的:

技术分享

现在给c3加一个margin-top:30px;再来看效果:

技术分享

可以看到,c3的父亲c2也跟着向下移动了,这就是父级塌陷现象

 这显然不是我们想要的,出现这个问题的原因是这个父级标签没有内容,当子级标签加上margin-top这个属性后,他会往自己的上方找。如果找到的是兄弟标签,那没有问题。但是如果找到的是父级标签,就要看这个父亲是不是合格的父亲(有没有内容),如果没有内容,就不认这个父亲了,就会以自己代码之上的另一个标签为基准,修改自己的上边距,如果上面没有元素,就会以body为准。

解决这个问题的方法就是:给父级标签加上内容,有几个方法:有边界border可以,有内边距padding可以,有内容content也可以。

还有一个方法,在父级标签的样式中加上   overflow:hidden  这种方法算是掩耳盗铃吧,虽然能解决问题,但不推荐用

 

margin还有一个常用的地方,就是调整子元素 在父标签左右居中

margin:0 auto;  第一个值是上边距,可以根据需要调整

 

九、float属性

 正常情况下,我们写的标签在网页中是自动按照从左到右,从上到下的顺序依次排列的,其中内联标签是并列摆列,块级元素是独占一行,这就是正常文档流

如果将元素浮动起来,从普通排版中拿开,那么其他元素在定位的时候就会忽略这些元素,这些元素就叫脱离正常文档流

float属性就是会让元素浮在正常文档流之上,可以向左飘或者向右飘,如果所有的标签都浮动起来,那就既可以调宽高,又可以在一排显示了,和display:inline-block;的效果一样

当块级标签在定位的时候,如果他的上一个标签是正常文档流,就贴到他的垂直下方

如果是浮动流,就并排贴到它的右边

问题又来了,看这个例子

技术分享
<!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">
    <title>Title</title>
    <style>
        *{
            margin:0;
        }
        .c2{
            border: 1px solid red;
        }
        .c1{
            width: 300px;
            height: 200px;
            background: gold;
        }
        .c3 {
            width: 100px;
            height: 100px;
            background: green;
            float: left;
        }
        .c4{
            width: 100px;
            height: 100px;
            background: #2b99ff;
            float: left;
        }
    </style>
</head>
<body>

    <div class="c2">
        <div class="c3"></div>
        <div class="c4"></div>
    </div>
    <div class="c1"></div>
</body>
</html>
View Code

在这个例子中, 在父级标签c2下面的c1标签被c2的子标签覆盖,同时父级标签坍缩成一条线

技术分享

出现这个问题的原因是两个子元素浮动起来后,脱离了正常文档流,父标签没有内容,也没有被两个有内容的子元素撑开,因此坍缩成了一条线,解决方法:

1.

首先想到的应该是给父级标签加一个固定高度,这样不管有没有内容,位置反正都已经占好了。但是这个高度应该加多少呢,至少要能包含住子元素,又不能高出很多,这是个问题,而且这个方法很笨重,一点都不优雅

2.清除浮动

这里用到一个新的属性:清除浮动 clear,有四个属性值

none: 默认值,允许两边有浮动元素

left:  左边不允许有浮动的元素

right: 右边不允许有浮动元素

both:  两边都不允许有浮动元素

clear只会对自身起作用,不会影响其他元素。

有了这个属性,我们在c1标签中添加这个属性,就可以解决现在的问题

技术分享

但是问题还是没有彻底解决,首先c2还是坍缩成了一条线,另外还有个问题,c1标签添加margin属性的时候会发现,margin失效了

3.

在父级标签中再加一个有内容的块级标签,对这个标签清除浮动,有内容但是不能对整体布局造成影响,所以内容设置为空

技术分享
<!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">
    <title>Title</title>
    <style>
        *{
            margin:0;
        }
        .c2{
            border: 1px solid red;
        }
        .c1{
            width: 300px;
            height: 200px;
            background: gold;
            clear: both;
            margin-top: 10px;
        }
        .c3 {
            width: 100px;
            height: 100px;
            background: green;
            float: left;
        }
        .c4{
            width: 100px;
            height: 100px;
            background: #2b99ff;
            float: left;
        }
        .c5{
            content: "";
            clear: both;
        }
    </style>
</head>
<body>

    <div class="c2">
        <div class="c3"></div>
        <div class="c4"></div>
        <div class="c5"></div>
    </div>
    <div class="c1"></div>
</body>
</html>
View Code

技术分享

可以看到,问题已经完美的解决了,再优化一下,实际应用中我们的代码肯定会很长,不可能对每个有需求的父级标签都添加一个新的子标签,我们可以用一个类,对这个类添加样式,哪个标签需要,就在类中添加这个类名,就可以了

技术分享
<!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">
    <title>Title</title>
    <style>
        *{
            margin:0;
        }
        .c2{
            border: 1px solid red;
        }
        .c1{
            width: 300px;
            height: 200px;
            background: gold;
            clear: both;
            margin-top: 10px;
        }
        .c3 {
            width: 100px;
            height: 100px;
            background: green;
            float: left;
        }
        .c4{
            width: 100px;
            height: 100px;
            background: #2b99ff;
            float: left;
        }
        .clearfix{
            content: "";
            display: block;
            clear: both;
        }
    </style>
</head>
<body>

    <div class="c2 clearfix">
        <div class="c3"></div>
        <div class="c4"></div>
    </div>
    <div class="c1"></div>
</body>
</html>
View Code

4.还有一种方法:overflow:hidden;在父级标签的样式中添加这个就行了,但是这个有兼容性问题,不推荐用

 

 十、position属性

设置position属性后,通过上下左右(top,buttom,left,right)四个位置设定的距离进行偏移

1.static  默认值

2.relative相对定位

相对定位以元素自己的原始位置为参照物,但是relative属于半脱离正常文档流,因为他的原始位置还在,其他元素无法侵占。这个属性主要与absolute配合使用

3.absolute绝对定位

设置为绝对定位的元素会以最近的已定位的上级元素定位,如果所有的上级元素都没有定位,则以body为基准位置偏移。绝对定位属于完全脱离文档流,自己的原始位置会被其他元素占据。

应用中可以对父级标签设置成相对定位,但不必偏移,这样子级元素就可以以父级标签为基准移动位置了

4.fixed 完全脱离

以窗口为参照物,即使出现滚动的情况,设置为fixed的元素也不会随着滚动,需要注意,设置为fixed的元素不能在设置float,这是两个不同的文档流

比如浏览网页时,右下角有个返回顶部的按钮,就是用的这个属性

 

 十一、响应式布局

 响应式就是当我们的浏览器分辨率发生变化的时候,页面布局保持不变,所以需要判断分辨率,根据不同的分辨率设置不同的样式

技术分享
<!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">
    <title>Title</title>
    <style>
        @media screen and (max-width: 1200px) {
            div{
            width: 100%;
            height: 100px;
            background: red;
            }
        }


        @media screen and (max-width: 900px){
            div{
            width: 100%;
            height: 100px;
            background: green;
            }
        }

        @media screen and (max-width: 600px) {
            div{
            width: 100%;
            height: 100px;
            background: black;
            }
        }
    </style>
</head>
<body>
    <div>

    </div>
</body>
</html>
View Code

 

练习:抽屉网首页

技术分享
<!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">
    <title>Title</title>
    <style>
        *{
            margin:0;
            padding:0;
        }
        .clearfix{
            content: ‘‘;
            display: block;
            clear: both;
        }
        .header{
            width: 100%;
            height: 44px;
            background: #2459a2;
        }
        .header_box{
            width: 1016px;
            height: 44px;
            /*border:1px red solid;*/
            margin:0 auto;
        }
        .logo{
            /*line-height: 44px;*/
            float: left;
            margin-top: 11px;
        }
        .option{
            float: left;
            line-height: 44px;
            background: #2459a2;
            /*margin: 0 20px;*/
            padding-left: 16px;
            padding-right:13px;;
        }
        .option:hover{
            background:#396bb3
        }
        .header_box .left .option a{
            text-decoration: none;
            color: white;
        }
        .header_box .right input{
            height: 30px;
            float: right;
            margin-top: 3px;

        }
        .header_box .right a{
            text-decoration: none;
            color: white;
            float: right;
            text-align: center;
            line-height: 44px;
            padding-left: 16px;
            padding-right:13px;;
        }
        .header_box .right form{
            float: right;
            margin-top: 7px;
            width: 160px;
            height: 30px;
            /*border:1px green solid;*/
            background: whitesmoke;
        }
        .header_box .right form input{
            /*background: ;*/
            width: 130px;
            height: 30px;
            float: left;
            margin: 0;
            /*padding: 0;*/
            border: 0px white;
        }
        .header_box .right form a{
            width: 30px;
            height: 30px;
            float: right;
            /*background: red;*/
            margin:0;
            padding:0;
        }

        .header_box .right form span{
            width: 13px;
            height: 13px;
            float: right;
            /*background: red;*/

            background: url("icon.png") no-repeat 0 -197px;
            margin-top: 8px;
            margin-right: 8px;
            padding: 0;
        }
        .body{
            width: 100%;
            height: 1160px;
            /*background: red;*/
            margin:0 auto;
            overflow: hidden;
            background: #ededed;
        }
        .body_box{
            /*margin: 25px;*/

            width: 1016px;
            height: 1160px;

            margin: 10px auto;
            background: #fff;
            margin-top: 0;

            /*background: green;*/

        }
        .body_box .left{
            float: left;
            width: 630px;
            height: 1010px;
        }
        .body .body_box .left .top{
            width: 630px;
            height: 43.2px;
            /*background: gold;*/
            border-bottom: 1px #dec7f4 solid;
            margin-left: 15px;
        }
        .body .body_box .left .top a{
            text-decoration: none;
            color: #369;
            font-size: 14px;
            text-align: center;
            line-height: 26px;


        }
        .body .body_box .left .top a.title_left{
            float: left;
            margin-left:15px;
            width: 60px;
            height: 26px;
            margin-top:8px ;
            font-size: 13px;
            font-weight: 700;
            /*margin-right: 5px;*/

        }
        .body .body_box .left .top a.title_right{
            float: right;
            margin:10px auto;
            margin-right: 15px;
            font-size: 13px;
            color: #390;

        }

        .body .body_box .left .top a.最热{
            background: #f0f4f8;
            border-radius:25px;
            color: #333;
        }
        .body .body_box .left .top a.即时排序{
            color: #b4b4b4;
        }
        .body .body_box .left .top a.发布{
            width: 100px;
            height: 26px;
            background: #84a42b;
            color: #fff;
            margin-right: 0;

        }
        .article li{
            margin-left: 15px;
            width: 630px;
            height:120px;
            border-bottom: 1px #dec7f4 solid;
            list-style: none;
            display: inline-block;
            margin-top: 5px;
            /*position: relative;*/

        }
        li>a img{
            float: right;
        }
        .article .artical_content{
            /*margin-right: 0;*/
            float: left;
            width:546.88px;
            height: 38.4px;

        }
        .qu{
            font-size: 12px!important;
            text-decoration: underline!important;
            color: grey!important;
         }
        .article .artical_content a{
            text-decoration: none;
            color: #369;
            font-weight: 600;
            font-size: 15px;
        }
        .article .artical_content a:hover{
            text-decoration:underline;
        }
        .article .artical_content span{
            font-size: 12px;
            color: grey;
        }

        .artical_bottom{
            display: inline-block;
            width: 630px;
            height: 26.8px;
            /*background: red;*/
            float: left;
            margin-top:21px;
            font-size: 13px;
            color: #777777;
        }
        .artical_bottom:hover .share{
            display: inline-block;
        }
        .label{
            float: left;
            margin-top:6px;;
            margin-right: 10px;
            width:36px;
            height:16px;
            /*background: grey;*/
        }
        label:hover{

        }
        .like_img{
            /*line-height: 26.8px;*/
            /*margin-right: 15px;*/
            float: left;
            width: 17px;
            height: 18px;
            background: url("like.png") no-repeat 0 -41px;
            /*margin:18px auto;*/
        }
        .like_img:hover{
            background: url("like.png") no-repeat 0 -21px;
        }
        .count{
            float: left;
            margin-left: 4px;
            font-size: 16px;
            margin-top: -1px;
            color: #99accb;
        }
        .count:hover{
            text-decoration: underline;
            color: #369;

        }
        .comment .like_img{
             background: url("like.png") no-repeat 0 -100px;
        }
        .comment .like_img:hover{
            background: url("like.png") no-repeat 0 -80px;
        }
        .favorite{
            width: 56px;
        }
        .favorite .like_img{
             background: url("like.png") no-repeat 0 -160px;

        }
        .favorite .like_img:hover{
            background: url("like.png") no-repeat 0 -140px;
        }
        .favorite .text{
            color: #99accb;
            font-weight: 400;
        }
        .favorite .text:hover{
            color: #369;
            text-decoration: underline;
        }
        .issue_time{
            margin-top: 4px;
            width: 100px;
        }
        .origin{
            float: left;
            margin-top:6px;;
            margin-right: 5px;
            width:66px;
            height:16px;
        }

        .origin img{

            float: left;
        }
        a .text{
            float: left;
            margin-top:2px;
            font-size: 12px;
        }
        .origin b{
            margin-top:1px;;
            color: #99accb;
            font-weight: 400;
        }
        .origin b:hover{
            color: #369;
            text-decoration: underline;
        }
        .issue_time .time{
            color: #e59373;
            font-weight: 400;
        }
        .issue_time .time:hover{
            text-decoration: underline;
        }
        .issue_time .issue{
            color: #ccc;
            font-weight: 400px;
        }
        .share{
            font-size: 12px;
            float: left;
            width: 180px;
            height: 17px;
            margin-left: 20px;
            display: none;
            /*background: honeydew;*/
        }
        .share_text{
            float: left;
        }
        .share_img{
            width: 17px;
            height:15px;
            float: left;
            /*background: red;*/
            background: url("share_icon.png") no-repeat 0 1px;
            margin-left: 7px;
        }
        .sina:hover{
            background: url("share_icon.png") no-repeat 0 -89px;
        }
        .douban{
         background: url("share_icon.png") no-repeat 0 -14px;
        }
        .douban:hover{
            background: url("share_icon.png") no-repeat 0 -103px;
        }
        .qq{
         background: url("share_icon.png") no-repeat 0 -30px;
        }
        .qq:hover{
            background: url("share_icon.png") no-repeat 0 -119px;
        }

        .renren{
         background: url("share_icon.png") no-repeat 0 -60px;
        }
        .renren:hover{
            background: url("share_icon.png") no-repeat 0 -150px;
        }
        .page .page_box{
            width:532px;
            height: 34px;
            /*background: beige;*/
            /*position: absolute;*/
            /*top:12px;*/
            float: left;
            margin:20px auto;
            margin-left: 15px;
        }
        .page li {
            list-style: none;
            float: left;
        }
        .page li a{
        }
        .page li .page_count{
            text-decoration: none;
            float: left;
            margin-right:6px;
            height: 34px;
            width: 34px;
            text-align: center;
            border: 1px #e1e1e1 solid;
            border-radius: 8px;
            line-height: 34px;
            color: #369;
        }
        .page li .nextpage{
            width: 77px;
        }
        .page li .pagefirst{
            border: none;
            color: #333;
            font-weight: 700;
        }
        .body_box>.right{
            width:320px;
            height: 1000px;
            /*background: #2459a2;*/
            float: right;
        }
        .body_box .right li{
            list-style: none;
            margin-top: 5px;
        }
        .body_box>.bottom{
            width: 980px;
            height: 150px;
            /*background: green;*/
            float: left;
            margin-left: 20px;
            margin-top: 35px;
            border-top:1px solid #ccdcef;;
        }
        .body_box>.bottom .outer_link{
            width: 800px;
            height: 20px;
            margin:10px auto;
        }

        .body_box>.bottom li{
            list-style: none;
            float: left;
            font-size: 12px;
            color: #369;
            margin-left: 10px;
            margin-right: 10px;
            line-height: 20px;
            
        }
        .body_box>.bottom li a{
            text-decoration: none;
        }
        .body_box>.bottom li a img{
            margin-top:1px;;
        }
        /*.body_box>.bottom .outer_link{*/
            /*margin-top: 64px;*/
        /*}*/
        .body_box>.bottom .outer_link span{
            float: left;
        }
        .body_box>.bottom .lower_item div{
            /*float: left;*/
            width: 800px;
            height: 20px;
            margin:5px auto;
            text-align: center;
            font-size: 12px;


        }
        .body_box>.bottom .lower_item a{
            text-decoration: none;
            color: #333;
        }
        .gozap_logo{
            vertical-align: -2px;
        }
        .turn2top a{
            position: fixed;
            bottom: 60px;
            right: 200px;
            text-decoration: none;
            font-size: 19px;
            font-weight: 800;
            width: 38px;
            height: 38px;
            background: url("Back-to-the-top_38_78.png") no-repeat 0 0;
        }
        .turn2top a:hover{
            background: url("Back-to-the-top_38_78.png") no-repeat 0 -40px;

        }

    </style>
</head>
<body>
    <div id="start"></div>
    <div class="header clearfix">
        <div class="header_box clearfix">
            <div class="left">
                <div class="logo"><img src="抽屉logo.png" alt=""></div>
                <div class="option"><a href="#">全部</a></div>
                <div class="option"><a href="#">42区</a></div>
                <div class="option"><a href="#"> 段子</a></div>
                <div class="option"><a href="#">图片</a></div>
                <div class="option"><a href="#">挨踢1024</a></div>
                <div class="option"><a href="#"> 你问我答</a></div>
            </div>
            <div class="right">
                <form action="" >
                    <a href="#"><span></span></a>
                    <input type="text" >


                </form>

                        <!--<span></span>-->
                <a href="#">登录</a>
                <a href="#">注册</a>
            </div>
        </div>

    </div>
    <div class="body clearfix">
        <div class="body_box clearfix">
            <div class="left">
                <div class="top clearfix">
                    <a href="#" class="title_left 最热">最热</a>
                    <a href="#" class="title_left 发现">发现</a>
                    <a href="#" class="title_left 人类发布">人类发布</a>

                    <a href="#" class="title_right 发布">+ 发布</a>
                    <a href="#" class="title_right 3天">3天</a>
                    <a href="#" class="title_right 24小时">24小时</a>
                    <a href="#" class="title_right 即时排序">即时排序</a>
                </div>
                 <div class="article">
                     <ul>
                        <li>
                            <div class="artical_content">
                                <a href="#" class="artical_title">
                                [杂技孤儿]32个孩子,从6岁到7岁,想离开就离开,走到记忆之外,没有什么需要膜拜。想回来就回来,旅行后才明白,我把从前留在境外。我不看将来,也不问未来。境外莫文蔚不散不见都投奔到河南濮阳县南环的张挥公园里。。。
                                </a>
                                <span class="artical_address" >-international.caixin.com</span>
                                <a href="#" class="qu">42区</a>
                            </div>
                            <a href="#"><img src="1.jpg" alt=""></a>

                            <a href="#" class="artical_bottom">
                                <span class="like label">
                                    <span class="like_img"></span>
                                    <b class="count">3</b>
                                </span>
                                <span class="comment label">
                                    <span class="like_img"></span>
                                    <b class="count">1</b>
                                </span>
                                <span class="favorite label" >
                                    <span class="like_img"></span>
                                    <b class="text">私藏</b>
                                </span>
                                <span class="origin label">
                                    <img src="origin.jpg" alt="">
                                    <b class="text">财新网</b>
                                </span>
                                <span class="issue_time label">
                                    <b class="text time">2小时6分钟前</b>
                                    <b class="text issue" >发布</b>
                                </span>
                                <span class="share label">
                                    <b class="share_text">分享到</b>
                                    <span class="share_img sina"></span>
                                    <span class="share_img douban"></span>
                                    <span class="share_img qq"></span>
                                    <span class="share_img renren" ></span>
                                </span>
                            </a>
                        </li>
                        <li>
                            <div class="artical_content">
                                <a href="#" class="artical_title">
                                [杂技孤儿]32个孩子,从6岁到7岁,想离开就离开,走到记忆之外,没有什么需要膜拜。想回来就回来,旅行后才明白,我把从前留在境外。我不看将来,也不问未来。境外莫文蔚不散不见都投奔到河南濮阳县南环的张挥公园里。。。
                                </a>
                                <span class="artical_address" >-international.caixin.com</span>
                                <a href="#" class="qu">42区</a>
                            </div>
                            <a href="#"><img src="1.jpg" alt=""></a>

                            <a href="#" class="artical_bottom">
                                <span class="like label">
                                    <span class="like_img"></span>
                                    <b class="count">3</b>
                                </span>
                                <span class="comment label">
                                    <span class="like_img"></span>
                                    <b class="count">1</b>
                                </span>
                                <span class="favorite label" >
                                    <span class="like_img"></span>
                                    <b class="text">私藏</b>
                                </span>
                                <span class="origin label">
                                    <img src="origin.jpg" alt="">
                                    <b class="text">财新网</b>
                                </span>
                                <span class="issue_time label">
                                    <b class="text time">2小时6分钟前</b>
                                    <b class="text issue" >发布</b>
                                </span>
                                <span class="share label">
                                    <b class="share_text">分享到</b>
                                    <span class="share_img sina"></span>
                                    <span class="share_img douban"></span>
                                    <span class="share_img qq"></span>
                                    <span class="share_img renren" ></span>
                                </span>
                            </a>
                        </li>
                        <li>
                            <div class="artical_content">
                                <a href="#" class="artical_title">
                                [杂技孤儿]32个孩子,从6岁到7岁,想离开就离开,走到记忆之外,没有什么需要膜拜。想回来就回来,旅行后才明白,我把从前留在境外。我不看将来,也不问未来。境外莫文蔚不散不见都投奔到河南濮阳县南环的张挥公园里。。。
                                </a>
                                <span class="artical_address" >-international.caixin.com</span>
                                <a href="#" class="qu">42区</a>
                            </div>
                            <a href="#"><img src="1.jpg" alt=""></a>

                            <a href="#" class="artical_bottom">
                                <span class="like label">
                                    <span class="like_img"></span>
                                    <b class="count">3</b>
                                </span>
                                <span class="comment label">
                                    <span class="like_img"></span>
                                    <b class="count">1</b>
                                </span>
                                <span class="favorite label" >
                                    <span class="like_img"></span>
                                    <b class="text">私藏</b>
                                </span>
                                <span class="origin label">
                                    <img src="origin.jpg" alt="">
                                    <b class="text">财新网</b>
                                </span>
                                <span class="issue_time label">
                                    <b class="text time">2小时6分钟前</b>
                                    <b class="text issue" >发布</b>
                                </span>
                                <span class="share label">
                                    <b class="share_text">分享到</b>
                                    <span class="share_img sina"></span>
                                    <span class="share_img douban"></span>
                                    <span class="share_img qq"></span>
                                    <span class="share_img renren" ></span>
                                </span>
                            </a>
                        </li>
                        <li>
                            <div class="artical_content">
                                <a href="#" class="artical_title">
                                [杂技孤儿]32个孩子,从6岁到7岁,想离开就离开,走到记忆之外,没有什么需要膜拜。想回来就回来,旅行后才明白,我把从前留在境外。我不看将来,也不问未来。境外莫文蔚不散不见都投奔到河南濮阳县南环的张挥公园里。。。
                                </a>
                                <span class="artical_address" >-international.caixin.com</span>
                                <a href="#" class="qu">42区</a>
                            </div>
                            <a href="#"><img src="1.jpg" alt=""></a>

                            <a href="#" class="artical_bottom">
                                <span class="like label">
                                    <span class="like_img"></span>
                                    <b class="count">3</b>
                                </span>
                                <span class="comment label">
                                    <span class="like_img"></span>
                                    <b class="count">1</b>
                                </span>
                                <span class="favorite label" >
                                    <span class="like_img"></span>
                                    <b class="text">私藏</b>
                                </span>
                                <span class="origin label">
                                    <img src="origin.jpg" alt="">
                                    <b class="text">财新网</b>
                                </span>
                                <span class="issue_time label">
                                    <b class="text time">2小时6分钟前</b>
                                    <b class="text issue" >发布</b>
                                </span>
                                <span class="share label">
                                    <b class="share_text">分享到</b>
                                    <span class="share_img sina"></span>
                                    <span class="share_img douban"></span>
                                    <span class="share_img qq"></span>
                                    <span class="share_img renren" ></span>
                                </span>
                            </a>
                        </li>
                        <li>
                            <div class="artical_content">
                                <a href="#" class="artical_title">
                                [杂技孤儿]32个孩子,从6岁到7岁,想离开就离开,走到记忆之外,没有什么需要膜拜。想回来就回来,旅行后才明白,我把从前留在境外。我不看将来,也不问未来。境外莫文蔚不散不见都投奔到河南濮阳县南环的张挥公园里。。。
                                </a>
                                <span class="artical_address" >-international.caixin.com</span>
                                <a href="#" class="qu">42区</a>
                            </div>
                            <a href="#"><img src="1.jpg" alt=""></a>

                            <a href="#" class="artical_bottom">
                                <span class="like label">
                                    <span class="like_img"></span>
                                    <b class="count">3</b>
                                </span>
                                <span class="comment label">
                                    <span class="like_img"></span>
                                    <b class="count">1</b>
                                </span>
                                <span class="favorite label" >
                                    <span class="like_img"></span>
                                    <b class="text">私藏</b>
                                </span>
                                <span class="origin label">
                                    <img src="origin.jpg" alt="">
                                    <b class="text">财新网</b>
                                </span>
                                <span class="issue_time label">
                                    <b class="text time">2小时6分钟前</b>
                                    <b class="text issue" >发布</b>
                                </span>
                                <span class="share label">
                                    <b class="share_text">分享到</b>
                                    <span class="share_img sina"></span>
                                    <span class="share_img douban"></span>
                                    <span class="share_img qq"></span>
                                    <span class="share_img renren" ></span>
                                </span>
                            </a>
                        </li>
                        <li>
                            <div class="artical_content">
                                <a href="#" class="artical_title">
                                [杂技孤儿]32个孩子,从6岁到7岁,想离开就离开,走到记忆之外,没有什么需要膜拜。想回来就回来,旅行后才明白,我把从前留在境外。我不看将来,也不问未来。境外莫文蔚不散不见都投奔到河南濮阳县南环的张挥公园里。。。
                                </a>
                                <span class="artical_address" >-international.caixin.com</span>
                                <a href="#" class="qu">42区</a>
                            </div>
                            <a href="#"><img src="1.jpg" alt=""></a>

                            <a href="#" class="artical_bottom">
                                <span class="like label">
                                    <span class="like_img"></span>
                                    <b class="count">3</b>
                                </span>
                                <span class="comment label">
                                    <span class="like_img"></span>
                                    <b class="count">1</b>
                                </span>
                                <span class="favorite label" >
                                    <span class="like_img"></span>
                                    <b class="text">私藏</b>
                                </span>
                                <span class="origin label">
                                    <img src="origin.jpg" alt="">
                                    <b class="text">财新网</b>
                                </span>
                                <span class="issue_time label">
                                    <b class="text time">2小时6分钟前</b>
                                    <b class="text issue" >发布</b>
                                </span>
                                <span class="share label">
                                    <b class="share_text">分享到</b>
                                    <span class="share_img sina"></span>
                                    <span class="share_img douban"></span>
                                    <span class="share_img qq"></span>
                                    <span class="share_img renren" ></span>
                                </span>
                            </a>
                        </li>
                         <li>
                            <div class="artical_content">
                                <a href="#" class="artical_title">
                                [杂技孤儿]32个孩子,从6岁到7岁,想离开就离开,走到记忆之外,没有什么需要膜拜。想回来就回来,旅行后才明白,我把从前留在境外。我不看将来,也不问未来。境外莫文蔚不散不见都投奔到河南濮阳县南环的张挥公园里。。。
                                </a>
                                <span class="artical_address" >-international.caixin.com</span>
                                <a href="#" class="qu">42区</a>
                            </div>
                            <a href="#"><img src="1.jpg" alt=""></a>

                            <a href="#" class="artical_bottom">
                                <span class="like label">
                                    <span class="like_img"></span>
                                    <b class="count">3</b>
                                </span>
                                <span class="comment label">
                                    <span class="like_img"></span>
                                    <b class="count">1</b>
                                </span>
                                <span class="favorite label" >
                                    <span class="like_img"></span>
                                    <b class="text">私藏</b>
                                </span>
                                <span class="origin label">
                                    <img src="origin.jpg" alt="">
                                    <b class="text">财新网</b>
                                </span>
                                <span class="issue_time label">
                                    <b class="text time">2小时6分钟前</b>
                                    <b class="text issue" >发布</b>
                                </span>
                                <span class="share label">
                                    <b class="share_text">分享到</b>
                                    <span class="share_img sina"></span>
                                    <span class="share_img douban"></span>
                                    <span class="share_img qq"></span>
                                    <span class="share_img renren" ></span>
                                </span>
                            </a>
                        </li>
                     </ul>
                 </div>
                <div class="page clearfix">
                      <div class="page_box ">
                            <ul>
                                <li><span class="page_count pagefirst">1</span></li>
                                <li><a href="#" class="page_count">2</a></li>
                                <li><a href="#" class="page_count">3</a></li>
                                <li><a href="#" class="page_count">4</a></li>
                                <li><a href="#" class="page_count">5</a></li>
                                <li><a href="#" class="page_count">6</a></li>
                                <li><a href="#" class="page_count">7</a></li>
                                <li><a href="#" class="page_count">8</a></li>
                                <li><a href="#" class="page_count">9</a></li>
                                <li><a href="#" class="page_count">10</a></li>
                                <li><a href="#" class="page_count nextpage">下一页</a></li>
                            </ul>
                    </div>
                </div>

            </div>
            <div class="right">
                <ul>
                    <li><img src="report_right.jpg" alt="" class="right_img"></li>
                    <li><img src="homepage_right.png" alt="" class="right_img"></li>
                    <li><img src="chen_right.jpg" alt="" class="right_img"></li>
                    <li><img src="erwema_right.jpg" alt="" class="right_img"></li>
                </ul>
            </div>
            <div class="bottom">
                <div class="outer_link">
                    <ul>
                    <li><a href="#" class="bottom_text">关于我们</a></li>
                    <span>|</span>
                    <li><a href="#" class="bottom_text">联系我们</a></li>
                    <span>|</span>
                    <li><a href="#" class="bottom_text">服务条款</a></li>
                    <span>|</span>
                    <li><a href="#" class="bottom_text">隐私政策</a></li>
                    <span>|</span>
                    <li><a href="#" class="bottom_text">抽屉新热榜工具</a></li>
                    <span>|</span>
                    <li><a href="#" class="bottom_text">下载客户端</a></li>
                    <span>|</span>
                    <li><a href="#" class="bottom_text">意见与反馈</a></li>
                    <span>|</span>
                    <li><a href="#" class="bottom_text">友情链接</a></li>
                    <span>|</span>
                    <li><a href="#" class="bottom_text">公告</a></li>
                    <li><a href="#" class="bottom_text"><img src="rss.png" alt=""></a></li>
                </ul>

                </div>
                <div class="lower_item">
                    <div class="row1">
                        <a href="#"><img src="gozap-logo.png" alt=""class="gozap_logo"></a>
                        <span>旗下站点 &copy2017 chouti.com</span>
                        <span><a href="#">京ICP备052302号-3 京公网安备 397272979</a></span>
                    </div>
                    <div class="row2">
                        <span>违法和不良信息举报: 电话: 13021552997 &nbsp邮箱:zhangcan121@163.com</span>
                    </div>
                    <div class="row3">
                        <span>版权所有:北京格物致知科技有限公司</span>
                    </div>

                </div>

            </div>
        </div>
    </div>
    <div class="turn2top">
        <a href="#start"></a>
    </div>
</body>
</html>

图片都是本地图片
View Code

 

前端开发之css篇