CSS基础和选择器

什么是CSS?

CSS是指层叠样式表(Cascading Style Sheets),样式定义如何显示HTML元素,样式通常又会存在于样式表中。也就是说把HTML元素的样式都统一收集起来写在一个地方或一个CSS文件里。

css的优势

1.内容与表现分离

2.网页的表现统一,容易修改

3.丰富的样式,使页面布局更加灵活

4.减少网页的代码量,增加网页浏览器速度,节省网络带宽

5.运用独立页面的css,有利于网页被搜索引擎收录

CSS语法

CSS基础语法

CSS语法可以分为两部分:

  1. 选择器
  2. 声明

声明由属性和值组成,多个声明之间用分号分隔。

CSS注释

注释是代码之母。

/*这是注释*/

网页中引用CSS样式

  • 内联样式
  • 行内样式表
  • 外部样式表

内嵌方式

style标签

<html>
    <head>
        <meta charset="utf8">
        <style>
            p {
                color: red;
            }
        </style>
    </head>
    <body>
        <p>这是一个p标签!</p>
    </body>
</html>

  

行内样式

<html>
<head>
<meta charset="utf8">
</head>
<body>
<p style="color: blue;">这是一个p标签!</p>
</body>
</html>

  

外联样式表-链接式

link标签

index.css

p {
  color: green;
}

然后在HTML文件中通过link标签引入:

<html>
    <head>
        <meta charset="utf8">
        <link rel="stylesheet" href="index.css">
    </head>
    <body>
        <p>这是一个p标签!</p>
    </body>
</html>

  

基础选择器

在一个HTML页面中会有很多很多的元素,不同的元素可能会有不同的样式,某些元素又需要设置相同的样式,

选择器就是用来从HTML页面中查找特定元素的,找到元素之后就可以为它们设置样式了。 选择器为样式规则指定一个作用范围。

基础选择器包括:

  • 标签选择器
  • 类选择器
  • ID选择器
  • 通用选择器

标签选择器

通过标签名来选择元素:

示例:

p {
  color: red;
}

  

将所有的p标签设置字体颜色为红色。

ID选择器

通过元素的ID值选择元素:

示例:

#i1 {
  color: red;
}

  

将id值为i1的元素字体颜色设置为红色。

类选择器

通过样式类选择元素:

示例:

.c1 {
  color: red;
}

  

将所有样式类含.c1的元素设置字体颜色为红色。

通用选择器

使用*选择所有元素:

* {
  color: black;
} 

组合选择器

后代选择器

因为HTML元素可以嵌套,所以我们可以从某个元素的后代查找特定元素,并设置样式:

div p {
  color: red;
}

从div的所有后代中找p标签,设置字体颜色为红色。

儿子选择器

div>p {
  color: red;
}

从div的直接子元素中找到p标签,设置字体颜色为红色。

毗邻选择器

div+p {
  color: red;
}

找到所有紧挨在div后面的第一个p标签,设置字体颜色为红色。

兄弟选择器

div~p {
  color: red;
}

找到所有div标签后面同级的p标签,设置字体颜色为红色。

并集选择器

div,p{

  color:red;

}

选择所有<div>元素和<p>元素标签,设置字体颜色为红色。

属性选择器

除了HTML元素的id属性和class属性外,还可以根据HTML元素的特定属性选择元素。

根据属性查找

[title] {
  color: red;
}

根据属性和值查找

找到所有title属性等于hello的元素:

[title="hello"] {
  color: red;
}

找到所有title属性以hello开头的元素:

[title^="hello"] {
  color: red;
}

找到所有title属性以hello结尾的元素:

[title$="hello"] {
  color: red;
}

找到所有title属性中包含(字符串包含)hello的元素:

[title*="hello"] {
  color: red;
}

找到所有title属性(有多个值或值以空格分割)中有一个值为hello的元素:

[title~="hello"] {
  color: red;
}

表单常用

input[type="text"] {
  backgroundcolor: red;
}

伪类选择器

a:link(没有接触过的链接),用于定义了链接的常规状态。

        a:hover(鼠标放在链接上的状态),用于产生视觉效果。

        a:visited(访问过的链接),用于阅读文章,能清楚的判断已经访问过的链接。

        a:active(在链接上按下鼠标时的状态),用于表现鼠标按下时的链接状态。

        伪类选择器 : 伪类指的是标签的不同状态:

                   a ==> 点过状态 没有点过的状态 鼠标悬浮状态 激活状态

        a:link {color: #FF0000} /* 未访问的链接 */

        a:visited {color: #00FF00} /* 已访问的链接 */

        a:hover {color: #FF00FF} /* 鼠标移动到链接上 */

        a:active {color: #0000FF} /* 选定的链接 */ 格式: 标签:伪类名称{ css代码; }

  

before after伪类

 :before    p:before       在每个<p>元素之前插入内容
 :after     p:after        在每个<p>元素之后插入内容

  

例子

<html>
	<head>

<meta charset="utf-8">

<title>PHP中文网</title>

<style type="text/css">

 /*没访问之前*/
        a:link{
            color: red;
        }
        /*鼠标放在链接上的状态*/
        a:hover{
            color: green;
        }
        /*访问过后*/
        a:visited{
            color:black;
        }
        /*鼠标点击的时候*/
        a:active{
            color: blue;
        }

        /*在p标签属性为c2的后面加上内容*/
        p.c2:after{
            content: ‘hello‘;
            color: pink;
        }

        /*在所有的p标签的前面加上内容*/
        p:before{
            content: ‘伪类‘;
            color: green;
        }
</style>

</head>

<body>

<a href="#">css中文网</a>
<p>你hao</p>
<p class="c2">你好</p>
</body>
</html>

 

css优先级和继承

css的继承

继承是CSS的一个主要特征,它是依赖于祖先-后代的关系的。继承是一种机制,它允许样式不仅可以应用于某个特定的元素,还可以应用于它的后代。

例如一个BODY定义了的颜色值也会应用到段落的文本中。

body{color:red;}       <p>hello</p>

这段文字都继承了由body {color:red;}样式定义的颜色。

然而CSS继承性的权重是非常低的,是比普通元素的权重还要低的0。

p{color:green}

 

css的优先级

所谓CSS优先级,即是指CSS样式在浏览器中被解析的先后顺序。

样式表中的特殊性描述了不同规则的相对权重,它的基本规则是:

1 内联样式表的权值最高               style=""------------1000;

2 统计选择符中的ID属性个数。       #id --------------100

3 统计选择符中的CLASS属性个数。 .class -------------10

4 统计选择符中的HTML标签名个数。 p ---------------1

按这些规则将数字符串逐位相加,就得到最终的权重,然后在比较取舍时按照从左到右的顺序逐位比较。

1、文内的样式优先级为1,0,0,0,所以始终高于外部定义。

2、有!important声明的规则高于一切。

3、如果!important声明冲突,则比较优先权。

4、如果优先权一样,则按照在源码中出现的顺序决定,后来者居上。

5、由继承而得到的样式没有specificity的计算,它低于一切其它规则(比如全局选择符*定义的规则)。

demo

<!DOCTYPE html>
<html>
<head>
	<meta charset="UTF-8">
	<title>层叠性</title>
	<style type="text/css">
		/*1  0  0*/
		#box{
			color: red;
		}
		/*0  1  0*/
		.container{
			color: yellow;
		}
		/*0  0  1*/
		p{
			color: purple;
		}
	</style>
</head>
<body>

	<!--
		层叠性: 权重的标签覆盖掉了权重小的标签,说白了 ,就是被干掉了
		权重: 谁的权重大,浏览器就会显示谁的属性

		谁的权重大?  非常简单   数数

		id的数量  class的数量  标签的数量

	 -->
	<p id="box" class="container">
		猜猜我是什么颜色
	</p>
</body>
</html>

  

原文地址:https://www.cnblogs.com/xiao-apple36/p/10090049.html

时间: 2024-11-07 03:53:46

CSS基础和选择器的相关文章

CSS基础,选择器

一.css:      是层叠样式,用于美化修饰页面的二.html与css的区别    html作用:                   决定了网页的内容和结构    css作用:        美化网页,具体说是美化修饰html标记三.css语法:    选择器{          属性1:值1:           属性2:值2:          }      四.基本选择器:        html标记选择器.类选择器.id选择器 html标记选择器:       声明时:选择器名是h

css基础与选择器——精通css学习笔记(一)

开篇,作者就告诉了我们正确的学习方式——先用后学.在有了一定的基础之后,就要去尝试着做一些小东西.学的过程中要保持入和出的平衡,不输出就等于没有输入.很多经验总是相同的,类似这样正确的道理,总是在能在各种场合被告诫. 学习css的正确方法,也正是在有了一定的基础知识之后,就要多看源码,多看别人的小例子,尝试着大胆的在自己的网站上应用. 新技术的出现,往往是因为旧技术的局限性所导致,css也是如此.在早期,html被承担了太多"功能".font标签用来控制各种样式,繁琐的表格嵌套用来布局

多选框其他,css基础,选择器基础

多选框 在多选框中如果想默认选中时,可以加入 checked 属性,属性值也为 checked 在选择时,如果想要达到,点击文字也能选中的效果,要利用  label  标签, 要在选项标签的 id  和  label  之间建立联系 <input id="app" type="checkbox"/> <label   for=“app”>这里写可以点击的文字</label>    <!-- input 选项标签的 id  作

CSS基础2——选择器

前面说过样式规则,也知道了样式规则语法形式为:选择器+声明块 如:div{ color:black:padding:10px; }   div即表示选择器(此处是元素选择器),花括号中的内容就是声明块. 选择器用于指定样式规则可作用于HTML文档中的哪个或者哪些元素.常见的选择器类型有以下几种: 1.元素选择器(类型选择器):匹配选择器的网页上的任何HTML元素,不考虑这些元素在文档树中的位置. 如:p{ background:aqua; color:pink; }   匹配网页上的任何p元素,

CSS基础及选择器

CSS 概述 CSS 指层叠样式表 (Cascading Style Sheets) 样式定义如何显示 HTML 元素 样式通常存储在样式表中 把样式添加到 HTML 4.0 中,是为了解决内容与表现分离的问题 外部样式表可以极大提高工作效率 外部样式表通常存储在 CSS 文件中 多个样式定义可层叠为一 CSS 规则由两个主要的部分构成:选择器,以及一条或多条声明. 选择器通常是您需要改变样式的 HTML 元素. 每条声明由一个属性和一个值组成. 属性(property)是您希望设置的样式属性(

css基础 class选择器 简单示例

镇场诗: 清心感悟智慧语,不着世间名与利.学水处下纳百川,舍尽贡高我慢意. 学有小成返哺根,愿铸一良心博客.诚心于此写经验,愿见文者得启发.------------------------------------------ code: <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"

CSS基础-派生选择器

一.派生选择器:通过依据元素在其位置的上下文关系来定义样式 html: <p><strong>p标签:hello css</strong></p> <ul> <li><strong>li标签:hello css</strong></li></ul> css: li strong{ color: red;}   原文地址:https://www.cnblogs.com/Lehh/p/868

Css基础-类选择器

类选择器以一个.显示 <p class="pclass">这是第一个class</p> .pclass { color:red; } <div class="divclass">fsdfds</div> .divclass { color:red; }

css基础 属性选择器 属性值以指定字符开头 / 结束

礼悟:    公恒学思合行悟,尊师重道存感恩.叶见寻根三返一,江河湖海同一体.          虚怀若谷良心主,愿行无悔给最苦.读书锻炼养身心,诚劝且行且珍惜.              ide:visual studio 2017             browser:Chrome                     os:win7 代码 <!DOCTYPE html> <html> <head> <meta charset="utf-8&qu