在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. JS中把其他类型转换成字符串的三种方法

    1.toString()方法 toString()方法返回的是相应值的字符串表现 数值.布尔值.对象和字符串值都有toString()方法,但是null和undefined值没有这个方法 例子: va ...

  2. java spring框架的定时任务

    由于测试的原因,最近有接触java spring  @Scheduled的定时任务,当时还以为配置起来表达式和crontab是完全一样的,没想到还有些许不一样. 在spring中,一个cron表达式至 ...

  3. React_01_ECMAScript6

    ECMAScript6 1.ES6简介 1.1.什么是ES6 ECMAScript 6.0(以下简称 ES6)是 JavaScript 语言的下一代标准,已经在 2015 年 6 月正式发布了.它的目 ...

  4. orcle not like不建议使用(not like所踩过的坑!)

      1.情景展示 现在有一张表,需要将表中某字段的值不是以指定字符开头的列进行删除,如何实现? 2.问题分析 错误方案一:同事想到的是:这种方式 咱们来看一下,这个表总共有多少条数据 本来表数据总共才 ...

  5. spring学习-ApplicationContext-spring上下文深入理解

    4月份开始复习一遍spring相关知识.让自己巩固一下spring大法的深奥益处,所以就看了大佬的博客,转载留下来日后继续研读.认为重点的标记为红色 以下文章内容转载自:http://www.cnbl ...

  6. 安装kafka + zookeeper集群

    系统:centos 7.4 要求:jdk :1.8.x kafka_2.11-1.1.0 1.绑定/etc/hosts 10.10.10.xxx      online-ops-xxx-0110.10 ...

  7. gamma测试报告

    Gamma阶段测试报告 测试计划及结果 我们针对测试做了比较多的改进. 测试代码分为针对纯java部分的单元测试和需要android运行环境的自动化仪器化测试 单元测试 这一部分基本继承Beta阶段的 ...

  8. 此页面上的脚本造成Web浏览器运行速度减慢。如果继续运行,您的计算机将可能停止响应。

    访问者所使用的浏览器不能完全支持页面里的脚本,形成“脚本错误”.遇到“脚本错误”时一般会弹出一个非常难看的脚本运行错误警告窗口,而事实上,脚本错误并不会影响网站浏览,因此这一警告可谓多此一举.要关闭警 ...

  9. ShowDoc 软件开发团队接口文档管理利器

    ShowDoc是一个非常适合IT团队的在线API文档.技术文档工具.你可以使用Showdoc来编写在线API文档.技术文档.数据字典.在线手册. 这里介绍 Showdoc 这款开源(免费)文档管理系统 ...

  10. 显示屏display的API

    display是代表25个led阵列显示屏的对象,包括以下的功能方法 # 获取(x,y)灯的亮度. 从 0 (不亮) to 9 (最亮). display.get_pixel(x, y) # 设置(x ...