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

news2024/9/27 12:22:11

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.coloradmin.cn/o/2109808.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

掌握SQLAlchemy:Python数据库的魔法师

文章目录 掌握SQLAlchemy&#xff1a;Python数据库的魔法师背景&#xff1a;为什么选择SQLAlchemy&#xff1f;SQLAlchemy是什么&#xff1f;如何安装SQLAlchemy&#xff1f;五个简单的库函数使用方法1. 创建引擎2. 定义模型3. 创建会话4. 添加数据5. 查询数据 场景应用1. 多表…

大模型构建合作性的Agent,多代理框架MetaGpt

大模型构建合作性的Agent,多代理框架MetaGpt 前言 MetaGPT 框架将标准的操作程序(SOP)与基于大模型的多智能体相结合,使用标准操作程序来编码提示,确保协调结构化和模块化输出。 MetaGPT 允许 Agent 在类似流水线的范式中扮演多中角色,通过结构化的 Agent 协作和强化领…

Android Studio 加载多个FLutter项目

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

三星称霸全球市场,但它在中国市场再受打击,将进一步收缩业务

韩国媒体报道指三星已计划进一步收缩中国业务&#xff0c;将中国的销售和生产部门人员减少一部分&#xff0c;其中销售人员计划减少8%左右&#xff0c;显示出它在中国市场继续面临打击&#xff0c;对于这家在全球市场领先地位仍然稳固的企业来说&#xff0c;它在中国市场无疑又…

OpenCV结构分析与形状描述符(8)点集凸包计算函数convexHull()的使用

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 查找一个点集的凸包。 函数 cv::convexHull 使用斯克拉斯基算法&#xff08;Sklansky’s algorithm&#xff09;来查找一个二维点集的凸包&#…

Wyn 商业智能V8.0 新版本来袭,解锁“智造”的无限可能

Wyn商业智能V8.0 版本全新发布&#xff0c;聚焦制造业数字化升级痛点&#xff0c;深度赋能制造业数字化转型升级之路&#xff0c;从无缝集成物联网海量数据&#xff0c;到构建可视化实时分析、监控与预警大屏&#xff0c;全面打通生产制造全生命周期的数据脉络&#xff0c;为您…

免费OCR 文字识别工具

免费&#xff1a;本项目所有代码开源&#xff0c;完全免费。 方便&#xff1a;解压即用&#xff0c;离线运行&#xff0c;无需网络。 高效&#xff1a;自带高效率的离线OCR引擎&#xff0c;内置多种语言识别库。 灵活&#xff1a;支持命令行、HTTP接口等外部调用方式。 功能…

hiprint打印/jsPDF使用/html2canvas

最初我知道hiprint.print是可以打印双模板的&#xff0c;于是查看hiprint.print的源码发现底层实现是this.getHtml(t).hiwprint,于是断点查看getHtm的实现&#xff0c;得知它是遍历我们对print传参的list&#xff0c;利用list中模板对象的getHtml()方法得到模板的dom对象&#…

论文120:Giga-SSL: Self-supervised learning for gigapixel images (2023, CVPR, 开源)

文章目录 1 要点2 方法2.1 算法设计2.2 设计选择 1 要点 题目&#xff1a;用于千兆像素图像的自监督学习 (Giga-SSL: Self-Supervised Learning for Gigapixel Images) 代码&#xff1a;https://github.com/trislaz/gigassl 研究目的&#xff1a; 现有的WSI分类方法依赖于有…

告别格式不兼容烦恼!ape转换mp3,分享3个简单方法

各位读者们&#xff0c;你们是否有过这种体验&#xff1a;满怀期待地在网上下载一首好听的歌曲&#xff0c;结果怎么点击手机都播放不了&#xff0c;定睛一看&#xff0c;弹窗显示“无法播放该音频文件”。这是为什么呢&#xff1f;原来那首歌的音频格式是ape&#xff0c;不被手…

2024年全国大学生数学建模C题解题思路

C 题 农作物的种植策略 gzh 大学竞赛君 根据乡村的实际情况&#xff0c;充分利用有限的耕地资源&#xff0c; 因地制宜&#xff0c;发展有机种 植产业&#xff0c;对乡村经济 的可持续发展具有重要的现实意义 。选择适宜的农作物&#xff0c; 优化种植策略&#xff0c;有利于方…

认识正则表达式

为什么要学习正则表达式 因为爬虫需要&#xff01;&#xff01;&#xff01; 一般来说爬虫需要四个主要步骤&#xff1a; 明确目标 (要知道你准备在哪个范围或者网站去搜索)爬 (将所有的网站的内容全部爬下来)取 (去掉对我们没用处的数据)处理数据&#xff08;按照我们想要的方…

Codeforces Round 967 (Div. 2)(A,B,C,D)

A Make All Equal 题意 给定一个序列,每次如果a[i]<a[i1]则可以删除这两个的任意一个,问找出使a中所有元素相等所需的最小删除次数 思路 最小的删除次数就是保留相同数字最多的那个数的删除次数,无论如何都可以保留这个数,因为假如是3334那么可以根据3和4把4删了,假如是3…

学习记录:js算法(二十六):回文链表

文章目录 回文链表我的思路网上思路 总结 回文链表 给你一个单链表的头节点 head &#xff0c;请你判断该链表是否为回文链表。如果是&#xff0c;返回 true &#xff1b;否则&#xff0c;返回 false 。 图一 图二 示例 1&#xff1a;&#xff08;图一&#xff09; 输入&…

数仓工具—Hive语法之URL 函数

hive—语法—URL 函数 业务需求中,我们经常需要对用户的访问、用户的来源进行分析,用于支持运营和决策。例如我们经常对用户访问的页面进行统计分析,分析热门受访页面的Top10,观察大部分用户最喜欢的访问最多的页面等: 又或者我们需要分析不同搜索平台的用户来源分析,统…

SpringBoot开发——结合Thymeleaf模板整合HTML

文章目录 一、 Thymeleaf介绍二、Springboot整合thymeleaf模板1、实现步骤1)创建一个Springboot项目2) 创建application.yml文件3)创建HTML文件4)编写controller文件5)启动Spring Boot2、Thymeleaf常用语法赋值、拼接条件判断: if/unless循环URL三元运算switch基本对象内…

Java报错处理系列之:Unable to make protected void java.util.ResourceBundle.setParent

Java报错处理系列之&#xff1a;Internal error : Unable to make protected void java.util.ResourceBundle.setParent accessible: module java.base does not "opens java.util" to unnamed module 7f1302d6 一、完整报错二、报错原因三、解决方法四、更多报错解决…

KMP 详解

KMP数组存的是什么 对于一个字符串 b,下标从1开始。 则kmp[i]表示 以i结尾的连续子串 s的前缀的最大值&#xff08;等价于前缀最大结尾处&#xff09; 如何求KMP 假设 i 以前的KMP都被求出来了。 j 表示上一个字符可以成功匹配的长度&#xff08;等价于下标&#xff09; …

TikTok Live与跨境电商的深度融合:直播带货引领品牌出海

在TikTok Live的应用中&#xff0c;品牌能够利用这一互动性极强的功能开辟新的销售渠道&#xff0c;推动全球业务的增长。本文Nox聚星将和大家探讨TikTok Live如何与跨境电商相结合&#xff0c;分析其应用场景。 一、TikTok Live与跨境电商的结合优势 庞大的用户基础&#xff…

众趣科技:实景三维和空间计算正走向行业深处

近日&#xff0c;众趣科技受邀出席了由中关村云计算产业联盟组织召开的“应用场景 x 数据要素”专题系列闭门研讨会&#xff0c;就空间计算和低空实景三维发展现状&#xff0c;众趣科技 VP 邰方程做了题为《空间计算和低空经济》的主题演讲。 1、《黑神话&#xff1a;悟空》空…