初始CSS

, 前几篇介绍的HTML只是比较常用的一部分。其他的还需自行了解。
sublime里面的emmet语法快捷键,百度云地址:http://pan.baidu.com/s/1eR1Frk2 密码:fdnp
emmet语法加快了代码的书写。比如在sublime里面输入: .box1>a[#]{$}*4 会得到

 <div class="box1">
        <a href="#">1</a>
        <a href="#">2</a>
        <a href="#">3</a>
        <a href="#">4</a>
    </div>

一、CSS的整体感知
css是cascading style sheet 层叠式样式表的简写。它为标签提供样式,呈现在网页上。
例如下面定义一个div,没有设置宽高,在网页中什么也不显示。所有需要CSS设置标签样式。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
    <div class="nav"></div>
</body>
</html>

CSS样式引入有三种:嵌入样式表、链接外部样式表、内嵌样式(优先级最高)。
嵌入样式表:用<style></style>标签对。
链接外部样式表:用link标签引入外部样式文件。文件以 .css结尾。
内嵌样式:<li style="font-size: large;color: red" >Bigbang</li>
引入位置:<head>
<meta charset="UTF-8">
<title>Document</title>
<link rel="stylesheet" href=""> href为文件路径。
<style></style>
</head>

二、选择器
想要设置一个标签属性,肯定要选择中它。
1.标签选择器
标签选择器是选择页面中所有的同类标签。
比如下面是设置了页面中所有div的宽度和高度,背景颜色。

<style>
div {
        width: 100px;  emmet语法:w100px再tab
        height: 100px;
         background-color: #000;
        }
</style>

2.id选择器
id就像人的身份证一样,是唯一的。

#banner {
        width: 100px;
        height: 100px;
        background-color: #000;
    }  只选中id为banner的div
<body>
    <div  id="banner"></div>
</body>

3.类选择器
一个标签可以有多个class,中间用空格隔开。一个class也可以被多个标签拥有。

.banner {
        width: 100px;
        height: 100px;
        background-color: #000;
    }  只选中class(类名)为banner的div
<body>
    <div  class="banner tab"></div>
</body>

4.后代选择器

<body>
    <div class="div1">
        <p>我是p1</p>
        <div>
            <p>我是p2</p>
        </div>
    </div>
</body>

直接后代选择器:.div1>p 选择的是.div1的直接后代<p>我是p1</p>,直接后代为div的儿子而不是孙子辈。

 <style>
    .div1>p {
        color: red;
    }
    </style>

直接后代选择器

后代选择器:.div1 p 选择的是.div1的所有后代p

  <style>
    .div1 p {
        color: red;
    }
    </style>

后代选择器

5.交集选择器
交集选择器,我们一般都是以标签名开头。
eg: div.special {} 该标签要同时满足是div而且类名是special的才可以选中。div.special中间没有空格

6.并集选择器
eg: div, p {} 选中所有div和p,并集选择器通常用在设置两个标签相同样式时。

7.通配符
*{
效率不高,如果页面上的标签越多,效率越低,所以页面上不能出现这个选择器。
}
8.相邻兄弟选择器
选择离自己最近的兄弟
相邻兄弟选择器

9.属性选择器
为具有某个属性的HTML元素定义样式。(CSS3介绍)
上面是CSS中的基本选择器,CSS3新增了许多灵活查找元素的方法,极大的提高了查找元素的效率和精准度。以后会一一介绍。

三、CSS的继承性和层叠性
继承性:
有一些属性,当给自己设置的时候,自己的后代都继承上了,这个就是继承性。
color、 text-开头的、line-开头的、font-开头的。这些都是可以继承的。
这些关于文字样式的,都能够继承; 所有关于盒子的、定位的、布局的属性都不能继承。
继承性

层叠性:
层叠性:就是css处理冲突的能力。这个很重要。
当对同一个标签设置样式时,会因为标签选择器权重的问题,一些选择器会被层叠掉。
层叠性

权重计算:id的数量,类的数量,标签的数量
先比较id,有id的优先,再看数量,数量一样;再比较class,依次类推。

权重

特别:在计算权重之前,要看看是不是选中了要设置的那个标签,如果没有,则权重为0。

权重

当所有都没有选中,那么有一个就近原则:谁描述的近,听谁的。

权重

并集选择器要分开计算:

权重

权重问题的深入:
同一个标签,携带了多个类名,有冲突:
权重


!important标记
给一个属性提高权重。这个属性的权重就是无穷大。
权重

!important需要强调3点:

1) !important提升的是一个属性,而不是一个选择器

权重

2) !important无法提升继承的权重,该是0还是0

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
    div {
        color: red!important;
    }
    p {
        color: green;
    }
    </style>
</head>
<body>
    <div>
        <p class="p1" id="p2">我是什么颜色?</p>
    </div>
</body>
</html>

权重

3)!important不影响就近原则
如果大家都是继承来的(没有选中,权重为0),按理说应该按照“就近原则”。

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
    div {
        color: red!important;
    }
    ul {
        color: green;
    }
    </style>
</head>
<body>
    <div>
        <ul>
            <p class="p1" id="p2">我是什么颜色?</p>
        </ul>
    </div>
</body>
</html>

权重

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值