网站开发:HTML + CSS - CSS选择器

1. 前言

CSS(Cascading Style Sheets,层叠样式表)是一种用于控制 HTML 文档样式和布局的语言。它为 Web 页面提供了许多功能,使开发者能够创建美观且功能丰富的用户界面。

提供了丰富的功能来控制网页的外观和布局,增强用户体验,并支持现代 Web 开发的最佳实践。通过合理使用 CSS,可以创建视觉上引人入胜、功能丰富、易于维护的 Web 应用。

2. 在HTML中使用CSS

2.1 行内样式

行内样式将CSS代码直接添加进HTML文件中,可以很简单的对单个元素定义样式

<p style="font-size:10px;text-decoration:underline;">行内样式</p>

2.2 内嵌样式

内嵌样式并未将CSS代码与XTML代码完全分离,存在于<head></head>之间,可以设置一些比较简单且需要统一样式的页面

<html>
<head>
<style type='text/css'>
p
{font-size=10px;color=red;
}
</style>
</head>
<body>
<p>哈哈哈哈哈哈哈哈</p>
</body>
</html>

2.3 链接样式

使用频率最高,也是最实用的方法。很好的将“页面内容”与“样式风格”很好的进行分离成多个文件,使得前期制作与后期维护都十分便捷。

在html文件中通过<link>标签链接外部css文件

html文件进行连接:

<html>
<head><link rel='stylesheet' type='text/css' href='相对路径/绝对路径'>
</head>
<body><h1>CSS学习</h1><p>我不想学</p>
</body>
</html>

css文件进行修饰:

h1{text-align:center;}
p{font-weight:29px;font-style:italic;}

2.4 导入模式

与链接模式类似,同样为外部文件。但是HTML文件运行时CSS进行导入文件内,类似于内嵌效果。

 html文件进行连接:

<html>
<head><style type="text/css">@import "绝对路径/相对路径"</style>
</head>
<body><h1>CSS学习</h1><p>我不想学</p>
</body>
</html>

css文件进行修饰:

h1{text-align:center;}
p{font-weight:29px;font-style:italic;}

2.5 优先级

行内>内嵌>链接>导入

3. 选择器声明

3.1 CSS选择器

选择器不仅仅是针对于HTML文件中的元素标记,也还可以是类(Class),ID(元素中的唯一特殊名称)或是元素中的某种属性

3.1.1 标记选择器

选择所有的h1,h2,p标签

body,p,td,th,div,blockquote,dl,ul,ol {font-family:Tahoma,Verdana,Arial,Helvectica,sans-serif;font-size:lem;color:#000000;
}

通过声明具体的标签,将文档中这个标记出现过的每一个地方应用样式定义

h1,h2,p
{color:red;font-size:20px
}

3.1.2 类选择器

类选择器用来为一系列标记相同的呈现方式

.ClassValue{property:value}

classvalue是指标签类的名称,对于相同类,同时作用样式定义

.a{color='red'}<p class='a'>OKOKO</p>

3.1.3 ID选择器

ID选择器与类选择器类似,但ID选择器只针对于某一个特定的ID标签

#IdValue{property:value;}

Eg:

			#study /*选择所有id值为study的标签*/{color:red;}<p id='study'>ID选择器</p> <!-- ID选择器只能定义一个 -->

3.1.4 全局选择器

若想要对一个页面中所有的HTML标记使用同一个样式,可以使用全局选择器

*{property:value;}

3.1.5 多重嵌套声明

选择标签内部中的标签

p a{color:red; font-size:30px;}

针对于:

<p>haha<a href=''>测试</a></p>

3.1.6 组合选择器

将多种选择器进行搭配,可以构成一种复合选择器。

组合选择器是一种组合形式,而不是真正的选择器。

tagName.classValue{property:value;}

3.1.7  继承选择器

子标记在没有任何定义的情况下所有的样式都是继承父标记的

h1{color:red;}
h1 span{color:blue;}
</style>
</head>
<body>
<h1>OKOKO<span>yes</span></h1>
</body>

3.1.8 伪类

伪类定义的CSS样式不是作用在标记上,而是作用在标记的状态上

伪类选择器定义的样式常作用于标记<a>上,表示超链接的4种不同样式

a:link {color:red;} /*未访问的链接*/
a:visited {color:green;} /* 已经访问的链接*/
a:hover {color:blue;} /* 鼠标移动到链接上*/
a:active {color:orange;} /* 鼠标点击*/

3.1.9 属性选择器

不通过HTML中标签的名称或自定义名称,而是直接属性控制HTML标记样式的选择器,称之为属性选择器。根据某个属性是否存在或属性值寻找元素

相关格式:

属性选择器格式说明
[foo]匹配定义了foo属性的元素
[foo='bar']foo属性为bar的元素
[foo~='bar']foo属性是一个以空格分隔的列表,其中一个列表值为bar
[foo|='en']foo属性值是一个用‘-’分隔的列表,匹配开头字符为en的属性
[fool^='bar']foo属性中包含了bar的前缀
[fool$='bar']foo属性中包含bar的后缀,eg: <img src='p.jpg'>
[fool*='bar']foo属性包含‘bar’的字符串

3.1.10 UI元素状态伪类选择器

对于用户界面(User Interface)的选择器,主要针对于<input>标签 

选择器说明
E:enabled匹配E的所有可用UI元素,input:enabled -> <form><input type='button' disabled=disabled><input type='text'></form>;匹配其中的text
E:disabled选择匹配E的所有不可用元素;input:enabled -> <form><input type='button' disabled=disabled><input type='text'></form>;匹配其中的button
E:checked选择匹配E的所有可用UI元素;input:enabled -> <form><input type='button' disabled=checked><input type='text'></form>;匹配其中的button

3.2 选择器声明

3.2.1 集体声明

同时选择不同标签,使用','相连

<style type='text/css'>
h1,h2,p
{color:red;font-size:10px;
}
</style>

3.2.2 多重嵌套声明 

层层递进对指定位置的HTML标记进行修饰,使用空格符相连

<style type='text/css'>
p a
{color:red;font-size:10px;
}
</style>

 

4. 参考资料

1. 《精通HTML5+CSS3+JavaScript网页设计》

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/417548.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用Python进行数据可视化:让你的数据“活”起来

哈喽&#xff0c;大家好&#xff0c;我是木头左&#xff01; 安装与导入 要使用Matplotlib&#xff0c;首先需要安装。可以使用pip进行安装&#xff1a; pip install matplotlib安装完成后&#xff0c;可以在Python代码中导入Matplotlib库&#xff1a; import matplotlib.py…

ACL22--基于CLIP的非代表性新闻图像的多模态检测

摘要 这项研究调查了假新闻如何使用新闻文章的缩略图&#xff0c;重点关注新闻文章的缩略图是否正确代表了新闻内容。在社交媒体环境中&#xff0c;如果一篇新闻文章与一个不相关的缩略图一起分享&#xff0c;可能会误导读者对问题产生错误的印象&#xff0c;尤其是用户不太可…

027、架构_资源_GTM

系统级GTM:默认的GTM,当创建分片集群时,如果不创建实例级GTM,则会用系统级GTM 本章节主要介绍GTM 集群的新增、删除、配置、绑定等管理操作。 新增GTM集群 摘要新增GTM集群,与租户相绑定,可查看绑定租户与配置集群参数设置,租户可重绑定其他正常可用的GTM集群。 步骤1.…

62、Python之函数高级:装饰器导致函数元数据丢失?三种方法搞定

引言 前面我们通过几篇文章介绍了关于高阶函数中装饰器的内容&#xff0c;我们已经能够实现对函数的动态增强&#xff0c;在遵从开闭原则的基础上&#xff0c;动态提高代码的可复用性。如果对装饰器的基础不太了解&#xff0c;可以回看前面几篇文章。 装饰器的引入带了极大的…

打包macos应用到dmg文件

打包macos应用到dmg文件 由于macos自带的看图软件太麻烦了&#xff0c;还受到沙箱的限制&#xff0c;访问本地文件各种询问&#xff0c;最主要的是不能打开一个图片之后不能直接查看同文件夹下的其他图片&#xff0c;感觉还是挺麻烦的。想看其他图片的时候还要全选才行。 而且…

某云彩SRM2.0任意文件下载漏洞

文章目录 免责申明搜索语法漏洞描述漏洞复现修复建议 免责申明 本文章仅供学习与交流&#xff0c;请勿用于非法用途&#xff0c;均由使用者本人负责&#xff0c;文章作者不为此承担任何责任 搜索语法 fofa icon_hash"1665918155"漏洞描述 某云采 SRM2.0是一款先…

mysql的整理

插入数据&#xff1a; INSERT INTO 表名 (字段名1, 字段名2, ...) VALUES (值1, 值2, ...); insert into employee(id,workno,name,gender,age,idcard,entrydate) values(1,1,Itcast,男,-1,123456789012345678,2000-01-01); insert into employee values(3,3,韦一笑,男,38,1…

11 Java 方法引用、异常处理、Java接口之函数式编程(接口知识补充Function<T,R>、BiFunction<T, U, R>和自定义泛型接口)

文章目录 前言一、Java接口之函数式编程 --- 接口知识补充1 Function<T,R>泛型接口2 BiFunction<T, U, R>泛型接口3 自定义泛型函数式编程接口4 使用lambda表达式、方法引用进行函数式编程二、方法引用1 方法引用初体验(以Array.sort()方法为例)(1)什么是方法引…

打造温馨家居,全屋智能家居解决方案

智能家居全屋解决方案覆盖全屋照明、温度、娱乐影音等各种常见的日常生活需求、可通过一键设置联动场景来控制自己的家、也可通过语音对话来操控家中的照明、电器及各种场景模式任意切换&#xff0c;一键升级自己的智能家。 1.入户解决方案 通过智能指纹锁穿过玄关、进入大厅、…

Android Studio 加载多个FLutter项目

按顺序操作即可 选择工程 选择Modules, 导入 module 选中创建module 选择要导入的目录&#xff0c;只选择主目录&#xff0c;下面的文件不要选 添加完成&#xff0c;点击ok后&#xff0c;会进行导入 最终导入成功

Java数据结构之ArrayList(如果想知道Java中有关ArrayList的知识点,那么只看这一篇就足够了!)

前言&#xff1a;ArrayList是Java中最常用的动态数组实现之一&#xff0c;它提供了便捷的操作接口和灵活的扩展能力&#xff0c;使得在处理动态数据集合时非常方便。本文将深入探讨Java中ArrayList的实现原理、常用操作以及一些使用场景。 ✨✨✨这里是秋刀鱼不做梦的BLOG ✨✨…

专题一_双指针_算法专题详细总结

目录 双指针 对撞指针&#xff1a;⼀般⽤于顺序结构中&#xff0c;也称左右指针。 快慢指针&#xff1a;⼜称为⻳兔赛跑算法&#xff0c;其基本思想就是使⽤两个移动速度不同的指针在数组或链表等序列 结构上移动。 1. 移动零&#xff08;easy&#xff09; 「数组分两块」…

中间件解析漏洞

一、iis 1、IIS6.X 1.在iis的⽹站根⽬录新建⼀个名为x.asp的⽂件 2.在x.asp中新建⼀个jpg⽂件。内容为 asp代码 3.在外部浏览器中访问windows2003的iis⽹站中的2.jpg 发现asp代码被执⾏ 4.将2.jpg⽂件放到⽹站根⽬录下访问&#xff0c;发现其中的asp代码没有被解析。 由此可…

1.ASRPRO天问--开发板介绍及第一次使用--开发板挖掘系列

1. 前言 时光不问赶路人&#xff0c;一切尽在不言中&#xff0c;大家好&#xff0c;我是繁花&#xff0c;oh&#xff0c;不对&#xff0c;是繁华的地方不一定留下你的脚印。开学季的到来&#xff0c;也让我这个老人是思绪万千&#xff0c;不要问为啥是老人&#xff0c;因为中人…

linux如何查看内存条是ddr几代

在 Linux 系统中&#xff0c;可以通过以下几种方法查看内存条的类型和代数&#xff08;如 DDR3、DDR4 等&#xff09;&#xff1a; 1. 使用 dmidecode 命令 dmidecode 是一个工具&#xff0c;它可以从系统的 DMI 表&#xff08;也称为 SMBIOS 表&#xff09;中提取硬件信息&a…

【Python】搭配 Python 环境(超详细教程)

要想能够进行 Python 开发&#xff0c;就需要搭建好 Python 的环境。 需要安装的环境主要是两个部分&#xff1a; 运行环境&#xff1a;Python 开发环境&#xff1a;PyCharm 一、安装 Python 1、找到官方网站 Welcome to Python.org 在搜索引擎中搜索 python 关键字&…

9-6对java的认识

java的特性和优势 java的三大版本 JDK,JRE,JVM

sealos快速搭建k8s集群

一&#xff0c;环境准备 1&#xff0c;三台&#xff08;搭建一主两从集群&#xff09;或五台&#xff08;三主两从集群&#xff09;虚拟机&#xff0c; 安装alimaLinux系统 &#xff0c;相同的root密码&#xff0c;不要安装docker。 如果是alimaLinux-mini版本操作系统&#xf…

Web安全:SQL注入实战测试.(扫描 + 测试)

Web安全&#xff1a;SQL注入实战测试. SQL注入就是 有些恶意用户在提交查询请求的过程中 将SQL语句插入到请求内容中&#xff0c;同时程序的本身对用户输入的内容过于相信&#xff0c;没有对用户插入的SQL语句进行任何的过滤&#xff0c;从而直接被SQL语句直接被服务端执行&am…

【Godot4自学手册】第四十六节实现闪电攻击、闪电链

本节内容&#xff0c;主要学习闪电攻击魔法。闪电攻击又名为闪电链&#xff0c;就是在几个敌人之间产生不断跳动的闪电攻击效果。本节主要实现的是单击鼠标右键&#xff0c;会在敌人之间产生随机的闪电链条&#xff0c;效果如下&#xff1a; 一、基本闪电的建立 新建2D场景&…