css基础引入、选择器、选择器权重

CSS引入方式

CSS一共有四种引入方式

(1)最简单的两种方式是直接在html标签里面引入,或者在html文件前面声明,以下是简单的代码示例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        p{background-color:red;
        color: black}
    </style>
<!--这里是修饰所有的P标签里面的内容,这是引入方法的一种-->
 <style>
        div{background-color:chartreuse;
        color: coral}
    </style>
 
</head>
<body>
 
 
<p style="background-color: aquamarine;color: black">Jay</p>
<!--在css里面,要用分号区别各种属性,虽然这个P标签有css样式,但是文本的样式是就近原则,这是最简单的css引入方式-->
 
<p>Bob</p>
 
<div>spider
<p>我是个P</p>
</div>
<!--div里面的P标签在上面有div的样式而没有P标签样式时,按div标签的样式,否则按P标签的样式-->
 
 
</body>
</html>

结果如图


2)可以用导入方法

先创建一个stylesheet文件,也就是css文件,在里面编辑好css样式,这里如图

然后代码如下


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        @import "css3.css";
    </style>
    <p>你好,我是导入的css</p>
</head>
<body>
 
</body>
</html>

这样关于P标签的样式就导入进去了

(4)通过link方式导入样式

这种方法跟import的就会一模一样,但是@import有数量限制,且是先等网页加载完再引入样式,如果网页足够大,则可能出现闪烁,就是漫长的无样式网页加载之后,css突然出来

而link不会出现这样的情况,他是网页主题装载前就先装载CSS的

link方式如下

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <link href="css3.css" type="text/css" rel="stylesheet">
    <!--type声明引入的文本是css,stylesheet声明引入的是css代码块-->
    <p>你好,我是导入的css</p>
</head>
<body>
 
</body>
</html>


CSS基础选择器

Html中有三种方法可以使用CSS,而在css中,有三种基础的选择器

1、元素选择器

    也叫标签选择器,即在CSS中利用标签名称来定义其外观

2、类选择器,是用点.符号开头,后面跟上一个自定义的名称,在使用时候,以HTML标签的class属性来标记

3、ID选择器,以符号#开头,后面跟上一个自定义的名称,在使用时以HTML标签的id属性来标记。

    以下是几种选择器的使用实例

<!doctype html>  
<html lang="en">  
 <head>  
  <meta charset="UTF-8">  
  <meta name="Generator" content="EditPlus®">  
  <meta name="Author" content="">  
  <meta name="Keywords" content="">  
  <meta name="Description" content="">  
  <link href="style.css" rel="stylesheet" type="text/css">       
  <!--第一种使用CSS方法,外部样式表,前提是在同一目录下-->  
  <title>CSS语法练习2016年1月13日</title>  
    <style type="text/css">  
       body {background-color:white}   <span style="font-family: Arial, Helvetica, sans-serif;"><span style="color:#ff0000;"><!--1、利用body标签定义背景颜色为白色--></span></span>  
       .news {color:red}              <span style="color:#ff0000;"> <span style="font-family: Arial, Helvetica, sans-serif;"><!--2、利用类选择器,自定义的名称为news--></span></span>  
       #p1 {color:blue}                <span style="font-family: Arial, Helvetica, sans-serif; color: rgb(255, 0, 0);"><!--3、利用ID选择器,自定义的名称为p1--></span>  
    </style><!--第二种使用css方法,利用内部样式表style标签-->  
 </head>  
 <body style="background-color:black">  
<h1 class=nwes>新闻1</p>  
     <p class="news">新闻2</p>  
  <p id="p1">另一个段落</p>  
  <p style="color:red">这是第三种应用CSS样式的方法</p><!--这是第三种应用CSS样式方法,即行内样式表-->  
</body>  
lt;/html>  

复合选择器

除了单独使用这些选择器之外,CSS还可以使用复合选择器,即明确定位到哪一个标签,如在上面代码中,news前面加上P.news,即直接定位到标签P,而p1标签里面的新闻1不会改变。

CSS复杂选择器

1)父子选择器:选择器中间用空格分割 可以跨到孙子辈- -  浏览器内核从右往左判断

2)直接子元素选择器:选择器之间用>分割 不可以跨到孙子辈

3)并列选择器:用多个限制条件选中一个元素,并且不加空格写到一起,如div.demo div#demo #demo.demo .demo#demo等

4)分组选择器:选择器之间用逗号隔开,其中css样式内容这些选择器都适用。

5)伪类选择器:拿一个选择器选中一个元素后加:hover(常用,其实有很多){    }  代码块中写的css样式只在鼠标移动到此元素的时候才触发此代码块儿的功能。

选择器权重

优先级: 行间样式>id选择器=属性选择器>class>标签选择器>
id优先级高于class
使用!important置顶优先级

css权重
!important Infinity
行间样式 1000
id 100
class|属性|伪类 10
标签|伪元素 1
通配符 0

1进制为 256

在复杂选择器中 权重相加来比较哪个复杂选择器权重大


猜你喜欢

转载自blog.csdn.net/m2606707610/article/details/80744735