在html中使用css的三种方式:

1、行内样式:同过元素的style属性来设置

<p style="font-size:20px; color:red">hello</p>

属性之间分号隔开。

2、内部样式:在<head>的<style>元素中定义css样式

<style>
p{font-size: 20px;color: red}
</style>

3、外部样式:在css文件中定义css样式,然后在html的<head>中通过<style>引入外部样式表

p{font-size: 20px;color: red}
<link href="xxx.css" type="text/css" rel="stylesheet" />

css文件中不加<style>标签,直接写css样式就ok。

内部|外部样式的语法: 选择器 {属性名1:属性值1; 属性名2:属性值2}

三种方式,属性之间都是分号隔开。

css注释:

/*  注释  */

css选择器

1、元素选择器、类选择器、id选择器

p{color: red}  /* 元素选择器,给所有p元素设置样式*/
.red{color: red} /* 类选择器,在元素中通过class="red"引用 */
#user{color: red} /* id选择器,在元素中通过id="user"引用,最多只能使用1次 */

2、通用选择器、分组选择器

*{color: red}  /*通用选择器,给所有元素设置样式 */
h1,.red{color: red} /*分组选择器,同时给多个选择器设置相同的样式 */

3、后代选择器、子选择器、相邻兄弟选择器、后续兄弟选择器

div p{color: red}  /*后代选择器,选择<div>中所有的<p>元素,不管<p>是<div>的儿子、孙子、重孙......只要<p>是<div>的后代就行*/
div>p{color:red} /*子选择器,选择的是<p>,<p>必须是<div>的儿子*/
div+p{color:red} /*相邻兄弟选择器,选择的是<p>,<p>必须是<div>后面的第一个兄弟元素 */
div~p{color:red} /*后续兄弟选择器,选择<div>后面所有的<p>,<p>必须是<div>的兄弟元素 */

4、属性选择器

[attr]  /*含有attr属性*/

[attr=value]  /*有attr属性,且属性值为value*/

[attr^=value]  /*有attr属性,且属性值以value开头(只要value是开头就ok*/
[attr|=value] /*有attr属性,且属性值以value开头、value和后面部分以-连接 */ [attr$=value] /*有attr属性,且属性值以value结尾*/ [attr*=value] /*有attr属性,且属性值中含有value(含有就ok)*/
[attr~=value] /*有attr属性,且属性值中含有单词value,value要是一个完整的单词(和其它单词以空格隔开)*/

属性选择器常和其它选择器一起使用,比如:

button[type="button"]  /*选择所有type="button"的<button> */

属性选择器中,attr不能加引号,value可引可不引。

5、<a>链接

a:link   /*所有未访问过的<a>*元素/
a:hover /*鼠标移到<a>元素上*/
a:active /*点击<a>时*/
a:visited /*所有访问过的<a>*/

这4个设置的是<a>元素不同时期的样式。

:hover这个伪类所有元素都可以使用。

6、表单元素

:focus   /*聚焦时*/
:checked /*选中时*/
:enabled /*可用的*/
:disabled /*禁用的*/
:read-only /*只读*/

可单独使用,也可配合表单元素使用:

:focus{  }
input:focus{ }

7、空元素

:empty{  }   /*所有的空元素*/
p:empty{ } /*所有空的<p>元素*/

空元素指的是没有任何属性、没有内容的元素,示例:<p></p>。

8、非

:not(p)    /*选择不是<p>的所有元素*/

()中尽量只使用元素选择器,使用其他选择器容易出错。

9、type系列

p:first-of-type  /*同级别中的第一个<p>*/
p:nth-of-type(n) /*同级别中的第n个<p>*/
p:nth-last-of-type(n) /*同级别中的倒数第n个<p>*/
p:last-of-type /*同级别中的最后一个<p>*/
p:only-of-type /*同级别中唯一的一个<p>*/

示例:

p:first-of-type{color:red}
<body>
<h1></h1>
<p></p> <!--选中-->
<p></p>
<div>
<h2></h2>
<p></p> <!--选中-->
<p></p>
</div>
</body>

只要是同级别的<p>中的第一个即可。

10、child系列

p:first-child   /*匹配的是<p>,<p>要是其父元素的第一个子元素*/
p:nth-child(n) /*匹配的是<p>,<p>要是其父元素的第n个子元素*/
p:nth-last-child(n) /*匹配的是<p>,<p>要是其父元素的倒数第n个子元素*/
p:last-child /*匹配的是<p>,<p>要是其父元素的最后一个子元素*/
p:only-child /*匹配的是<p>,<p>要是其父元素的唯一一个子元素*/

示例:

p:first-child{color:red}
<body>
<h1></h1>
<p></p>
<p></p>
<div>
<p></p> <!--选中-->
<p></p>
</div>
</body>

11、首字、首行

p:first-letter  /*<p>元素的第一个字符*/
p:first-line /*<p>元素的第一行*/

12、:before    :after

p:before{   /*在<p>的前面添加内容*/
content:"hello "
}
p:after{ /*在<p>的后面添加内容*/
content:" byebye"
}

添加的内容默认是行内元素,但会和<p>在同一行显示(相当于把添加的内容放到<p>元素内的最前|后面),添加的并不是一个真正的元素,所以叫做伪元素。

可以设置为块级,添加的内容会作为块级元素显示:

p:before{   /*在<p>的前面添加内容*/
content:"hello ";
display: block
}
p:after{ /*在<p>的后面添加内容*/
content:" byebye";
display: block
}

可以给添加的元素设置样式:

p:before{
content:"hello "; /* 属性之间分号分隔 */
display: block; /*给添加的内容设置样式*/
font-size: 20px;
color:red
}

添加图片:

p:before{
content:""; /* content属性是必需的,不添加文本时可以设置为空串 */
display: block; /*必须要设置为块级,要设置宽、高,添加的背景图片才能显示出来*/
width: 100px;
height: 100px
background-image: url("1.png");
}

清除浮动:

p:before{
content:"";
clear: both
}

伪元素可以使用单冒号,也可以使用双冒号。

:before   <=>   ::before

:after  <=>  ::after

带冒号的选择器中,有4个伪元素:first-letter、:first-line、:before、:after,其余都是伪类。

选择器可以搭配使用。

在同种方式中(都是内部|外部样式),优先级id选择器最高,类选择器次之,属性选择器最低。(定位越具体、详细的,优先级越高)

如果使用了相同的css属性,优先级行内最高,内部、外部优先级相同,看<head>中<link />、<style>的顺序,后面的优先级更高(后渲染的样式会覆盖之前的样式)。

CSS 样式的使用方式、选择器的更多相关文章

  1. 【3-24】css样式表分类、选择器、样式属性

    一.css样式表分类: (一)内联样式表:代码写在标签内的样式表  控制精确 代码重用性差  优先级最高 格式:<p style="样式属性">内容</p> ...

  2. css——样式表分类,选择器

    一,样式表分类 (1)内联样式[优先级最高][常用][代码重复使用性最差] (当特殊的样式需要应用到个别元素时,就可以使用内联样式. 使用内联样式的方法是在相关的标签中使用样式属性.样式属性可以包含任 ...

  3. CSS样式之连接方式

    前言:上一篇博客是HTML基本结构和标签,是笔者学习HTML的笔记,本篇博客开始记录CSS,废话不多说,直接进入主题. 首先,我们要知道CSS是什么.简单地说,CSS层叠样式表是用来表现HTML或XM ...

  4. 四种CSS样式的引入方式

    准备 1.首先准备一个html文件:test.html,不建议使用记事本创建文件,建议使用Notepad++来创建并编辑文件,注意编码格式为:以UTF-8无BOM格式编码,否则会出现中文乱码,内容如下 ...

  5. CSS样式的插入方式

    1.外部样式: 当样式需要应用于很多页面时,外部样式表将是理想的选择.<head> <link rel="stylesheet" type="text/ ...

  6. JS设置CSS样式的集中方式

    1. 直接设置style的属性  某些情况用这个设置 !important值无效 如果属性有'-'号,就写成驼峰的形式(如textAlign)  如果想保留 - 号,就中括号的形式  element. ...

  7. css样式表分类、选择器分类、css基础样式

    1 . 样式表  Cascading Style Sheet      css优势: 内容与表现分离 网页的表现统一,容易修改 丰富的样式,使网页布局更加灵活 减少网页代码量,增加网页的浏览速度,节省 ...

  8. CSS样式表引用方式

    最近讲课中,有些学员对调用样式表老是有含糊不清?大体说来有四种方式: 1.外部文件引用方式;(推荐使用) 2.使用@import引用外部CSS文件; 3.内部文档头方式也叫内嵌法调用; 4.直接插入式 ...

  9. 前端开发---css样式的使用方式

    css使用方式: 1.内联样式表: <body style="background-color:green" margin:0 ; padding:0;> 2.嵌入式样 ...

随机推荐

  1. DCI学习链接及文章

    https://www.jianshu.com/u/c1b1137d5886 李永顺 https://www.jianshu.com/users/7386692d5489/timeline 袁英杰 小 ...

  2. Python面向对象 | 类空间及类之间的关系

    一. 类的空间问题 1何处可以添加对象属性 class A: def __init__(self,name): self.name = name def func(self,sex): self.se ...

  3. ABP .net framework版 的发布

    先正常的发布流程走 特别的如下图

  4. ESA2GJK1DH1K基础篇: 阿里云物联网平台: 测试云平台显示MQTT客户端发过来的消息

    现在这里空空如也 咱自定义的也没有数据 现在就是传上来温度数据,让这里显示温度数据 你发布的主题  /sys/a1m7er1nJbQ/Mqtt/thing/event/property/post 发布 ...

  5. ESA2GJK1DH1K基础篇: 移植官方MQTT包,让TCP实现MQTT功能(以GPRS模块为例)

    前言 这节代码将在这一节的基础上实现 拷贝第一节测试里面的MQTT文件夹到当前工程 当前工程建个MQTT的文件夹,用于存放那个MQTT文件夹里面的内容 添加文件到里面 注意:::: 实际源码拷贝位置 ...

  6. virtualbox安装问题总结

    还是老问题 重点重点: https://blog.csdn.net/Loisleen/article/details/84975165#1install_the_gcc_make_perl_packa ...

  7. java基础之 数据类型 & 值传递 引用传递 & String & 四种引用类型

    一.Java数据类型 分为基本数据类型与引用数据类型 基本数据类型: byte:Java中最小的数据类型,在内存中占1个字节(8 bit),取值范围-128~127,默认值0 short:短整型,2个 ...

  8. 【数据结构与算法】k-d tree算法

    k-d tree算法 k-d树(k-dimensional树的简称),是一种分割k维数据空间的数据结构.主要应用于多维空间关键数据的搜索(如:范围搜索和最近邻搜索). 应用背景 SIFT算法中做特征点 ...

  9. Maven 教程(3)— Maven仓库介绍与本地仓库配置

    原文地址:https://blog.csdn.net/liupeifeng3514/article/details/79537837 1.Maven本地仓库/远程仓库的基本介绍 本地仓库是指存在于我们 ...

  10. hadoop学习之HDFS原理

    HDFS原理 HDFS包括三个组件: NameNode.DataNode.SecondaryNameNode NameNode的作用是存储元数据(文件名.创建时间.大小.权限.与block块映射关系等 ...