CSS:语法、样式表、选择器

news2025/5/16 7:38:43

目录

一、语法

二、创建

外部样式表

内部样式表

内联样式

三、选择器

ID选择器

类选择器

 伪类选择器

:hover

a:link 

a:active 

a:visited 

 属性选择器

 伪元素选择器

::first-letter

::first-line

::selection

::placeholder

::before 和::after

 通配选择器

 标签选择器

参考资料:


一、语法

由选择器和多条声明构成,一条声明由属性和值构成。

二、创建

外部样式表

使用link元素链接外部样式表,外部样式表是一个以.css结尾的文件。

<head>
    <link rel="stylesheet" type="text/css" href="mystyle.css">
</head>

内部样式表

使用style元素将CSS语言括起来,定义在头文件上。

<head>
<style>
    hr {color:sienna;}
    p {margin-left:20px;}
    body {background-image:url("images/back40.gif");}
</style>
</head>

内联样式

使用元素内部使用style属性编写CSS样式表,定义在元素上。

<p style="color:sienna;margin-left:20px">这是一个段落。</p>

注意:内联样式 > 内部样式表 > 外部样式表 > 浏览器样式表 

三、选择器

ID选择器

以#开头,后面跟着ID名称,因为ID在HTML里具有唯一性,具体效果针对单一ID名称相同元素。例如:针对以下元素。 

HTML代码
<p id="para1">这是一个段落。</p>
CSS代码
#para1
{
    text-align:center;
    color:red;
}

类选择器

以.开头,后面跟着类名称,类名称不具有唯一性,对一类的元素进行同样的CSS渲染,如果要特指类内的某一元素标签,则空格后跟元素标签。

HTML代码 

<div class="content-class"></div>

CSS代码 


.content-class {
    color: blue;
}
/*匹配类*/

.content-class div{
    color: blue;
}
/*匹配content-class类中的div标签*/

 伪类选择器

        伪类是用于指定所选元素的特殊状态。不同的元素有着不同的伪类。伪类由冒号后跟着伪类名称组成(例如,:hover)。函数式伪类还包含一对括号来定义参数。附上了伪类的元素被定义为锚元素(例如,button:hover 中的 button)。它与一些用户交互有关,某些并不是直接的显现。以下是常见元素的伪类使用。

<any>:hover

鼠标悬浮在元素上可用于所有元素

a:hover{
        background-color:yellow;
}
button:hover{
        background-color:yellow;
}

a:link 

设置了未访问过的页面链接样式,可用于a元素

a:link
{
        background-color:yellow;
}

a:active 

设置点击链接后按下的样式,短暂时刻可用于a元素

注意:为了产生预期的效果,在CSS定义中,:active必须位于:hover之后!

a:active
{
        background-color:yellow;
}

a:visited 

设置访问过的页面链接的样式,可用于a元素

a:visited
{
        background-color:yellow;
}

 属性选择器

CSS 属性选择器匹配那些具有特定属性或属性值的元素。

/* 存在 title 属性的 <a> 元素 */
a[title] {
  color: purple;
}

/* 存在 href 属性并且属性值匹配"https://example.org"的 <a> 元素 */
a[href="https://example.org"]
{
  color: green;
}

 伪元素选择器

        伪元素选择器用于处理那些不是由HTML标签直接表示的内容,比如首行文字、首字母或者生成的内容等等。

注意:一个基础选择器只能附加搭配一个伪元素

选择器,它与伪类选择器的区别是有两个冒号:: 。

常见伪元素选择器

::first-letter

选中块级元素第一行的第一个字母,也就是说块级元素第一行为文字可使用。

div::first-letter {
    font-size: 30px;
    color: orange;
}

::first-line

选中块级元素第一行,也就是说块级元素第一行为文字可使用。

div::first-line {
    font-size: 20px;
    color: red;
}

::selection

使用鼠标或其他选择设备选中的部分进行样式渲染。

/* 选中的文字颜色会变为红色,背景色为天蓝色 */
div::selection {
    color: red;
    background-color: skyblue;
}

::placeholder

它作用于<input>或<textarea>元素中的占位文本。

/* 文本字体为橙色,切背景为天蓝色 */
input::placeholder {
    color: orange;
    background-color: skyblue;
}

::before 和::after

        before会在选中元素之前添加一个伪元素,而after会在选中元素之后,添加一个伪元素。通过 content属性来为一个元素添加修饰性的内容。

注意: ::before 和::after必须要包含content属性

HTML代码

 <div class="item">
   <div></div>
</div>

CSS代码:&指向父元素也就是包裹它的元素本身,它也叫父占位符。

.item div{
  position: relative;
  border: 1px solid #03A9F3;
  &::before,
  &::after {
    content: "";
    position: absolute;
    width: 20px;
    height: 20px;
    transition: .3s ease-in-out;
  }
  &::before {
    top: -5px;
    left: -5px;
    border-top: 1px solid var(--borderColor);
    border-left: 1px solid var(--borderColor);
  }
  &::after {
    right: -5px;
    bottom: -5px;
    border-bottom: 1px solid var(--borderColor);
    border-right: 1px solid var(--borderColor);
  }
  &:hover::before,
  &:hover::after {
    width: calc(100% + 9px);
    height: calc(100% + 9px);
  }
}

 

 通配选择器

要使所有元素满足一个样式,可以使用通配选择器*

CSS代码
*{
    margin:0; 
    padding:0;
}

 标签选择器

        针对HTML的标签元素,具有和类选择器差不多的效果,可以多个属于同标签元素进行渲染,还可以跟类选择器搭配使用,例如:div.fruit表示所有div标签里的类值为fruit的。

CSS代码
div {
    color: grey;
}

参考资料:

CSS 伪类 | 菜鸟教程

CSS基础之伪元素选择器-CSDN博客

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

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

相关文章

配电自动化中的进线监控技术

进线监控技术是配电网自动化中的一项关键技术&#xff0c;它主要用于对配电网进线变电站的开关状态以及母线电压、电流、有功功率、无功功率及电度量等参数进行实时监测。以下是对进线监控技术的详细介绍&#xff1a; 一、技术原理 进线监控技术基于传感器技术、数据采集技术、…

【三维分割】Gaga:通过3D感知的 Memory Bank 分组任意高斯

文章目录 摘要一、引言二、主要方法2.1 3D-aware Memory Bank2.2 三维分割的渲染与下游应用 三、实验消融实验应用: Scene Manipulation 地址&#xff1a;https://www.gaga.gallery 标题&#xff1a;Gaga: Group Any Gaussians via 3D-aware Memory Bank 来源&#xff1a;加利福…

《王者荣耀》皮肤爬虫源码

1.爬取网页 https://pvp.qq.com/web201605/herolist.shtml 2.python代码 import requests from bs4 import BeautifulSoup import os import threading from queue import Queuedef mul(x):if not os.path.exists(x):os.mkdir(x)print("目录创建成功")else:pass h…

iconfont等图标托管网站上传svg显示未轮廓化解决办法

打开即时设计 即时设计 - 可实时协作的专业 UI 设计工具 导入图标后拖入画板里面&#xff0c;右键选择轮廓化 将图标导出

【Linux系列】查看服务器是否使用了 SSD 的多种方法

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

【AIGC】ChatGPT 的 Prompt Hacker 技巧:让简历轻松通过 AI 筛选

博客主页&#xff1a; [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: AIGC | ChatGPT 文章目录 &#x1f4af;前言&#x1f4af;背景简化简历格式 &#x1f4af;简化 Prompt Hacker 的逻辑使用 Prompt Hacker 技巧**示例 Prompt&#xff1a;引导 AI 筛选简历**如何利用 Prompt 优化简历筛…

AI News(1/21/2025):OpenAI 安全疏忽:ChatGPT漏洞引发DDoS风险/OpenAI 代理工具即将发布

1、OpenAI 的安全疏忽&#xff1a;ChatGPT API 漏洞引发DDoS风险 德国安全研究员 Benjamin Flesch 发现了一个严重的安全漏洞&#xff1a;攻击者可以通过向 ChatGPT API 发送一个 HTTP 请求&#xff0c;利用 ChatGPT 的爬虫对目标网站发起 DDoS 攻击。该漏洞源于 OpenAI 在处理…

windows下使用docker执行器并配置 hosts 解析

本篇目录 1. 问题背景2. 环境准备2.1 云上开通windows 2022 英文版机器2.1.1 安装 git2.1.2 安装 runner2.1.3 装docker2.1.4 注册runner并使用docker执行器 3. 项目信息3.1 编写window bat脚本3.2 项目.gitlab-ci.yml文件 4. 测试结论4.1 运行流水线 5. troubleshooting问题1&…

centos9编译安装opensips 二【进阶篇-定制目录+模块】推荐

环境&#xff1a;centos9 last opensips -V version: opensips 3.6.0-dev (x86_64/linux) flags: STATS: On, DISABLE_NAGLE, USE_MCAST, SHM_MMAP, PKG_MALLOC, Q_MALLOC, F_MALLOC, HP_MALLOC, DBG_MALLOC, CC_O0, FAST_LOCK-ADAPTIVE_WAIT ADAPTIVE_WAIT_LOOPS1024, MAX_RE…

靶机复现-pikachu靶机文件包含漏洞

本篇文章旨在为网络安全渗透测试靶机复现学习。通过阅读本文&#xff0c;读者将能够对渗透pikachu靶场文件包含漏洞复现有一定的了解 原文学习链接 CSDN博主&#xff1a;One_Blanks主页地址 靶机资源下载 PHPStudy pikachu 一、前言 文件包含漏洞是编程中的一种安全隐患&a…

【机器学习实战高阶】基于深度学习的图像分割

机器学习项目图像分割 你可能已经注意到&#xff0c;大脑如何快速高效地识别并分类眼睛感知到的事物。大脑以某种方式进行训练&#xff0c;以便能够从微观层面分析所有内容。这种能力有助于我们从一篮子橙子中分辨出一个苹果。 计算机视觉是计算机科学的一个领域&#xff0c;…

【Elasticsearch 】 聚合分析:桶聚合

&#x1f9d1; 博主简介&#xff1a;CSDN博客专家&#xff0c;历代文学网&#xff08;PC端可以访问&#xff1a;https://literature.sinhy.com/#/?__c1000&#xff0c;移动端可微信小程序搜索“历代文学”&#xff09;总架构师&#xff0c;15年工作经验&#xff0c;精通Java编…

Skyeye 云 VUE 版本 v3.15.5 发布

Skyeye 云智能制造&#xff0c;采用 Springboot winUI 的低代码平台、移动端采用 UNI-APP。包含 30 多个应用模块、50 多种电子流程&#xff0c;CRM、PM、ERP、MES、ADM、EHR、笔记、知识库、项目、门店、商城、财务、多班次考勤、薪资、招聘、云售后、论坛、公告、问卷、报表…

TCP如何保证安全可靠?

TCP如何保证安全可靠&#xff1f; TCP&#xff08;传输控制协议&#xff09;是一种面向连接的、可靠的传输层协议。为了保证数据传输的安全性和可靠性&#xff0c;TCP 采用了多种机制&#xff0c;包括确认和重传、数据校验、数据分片和排序、流量控制以及拥塞控制。 1. 确认和…

高等数学学习笔记 ☞ 定积分的积分方法

1. 定积分的换元积分法 1. 换元积分公式&#xff1a;设函数在闭区间上连续&#xff0c;令&#xff0c;若满足&#xff1a; ①&#xff1a;当时&#xff0c;&#xff1b;当时&#xff0c;。 此时的大小关系不一定&#xff0c;但与最好对应着写&#xff0c;否则就要留意变号的问…

Alluxio 联手 Solidigm 推出针对 AI 工作负载的高级缓存解决方案

作者&#xff1a;Wayne Gao, Yi Wang, Jie Chen, Sarika Mehta Alluxio 作为全球领先的 AI 缓存解决方案供应商&#xff0c; 提供针对 GPU 驱动 AI 负载的高速缓存。其可扩展架构支持数万个节点&#xff0c;能显著降低存储带宽的消耗。Alluxio 在解决 AI 存储挑战方面的前沿技…

Docker Load后存储的镜像及更改镜像存储目录的方法

Docker Load后存储的镜像及更改镜像存储目录的方法 Docker Load后存储的镜像更改镜像存储目录的方法脚本说明注意事项Docker作为一种开源的应用容器引擎,已经广泛应用于软件开发、测试和生产环境中。通过Docker,开发者可以将应用打包成镜像,轻松地进行分发和运行。而在某些场…

爬虫基础之爬取某站视频

目标网址:为了1/4螺口买小米SU7&#xff0c;开了一个月&#xff0c;它值吗&#xff1f;_哔哩哔哩_bilibili 本案例所使用到的模块 requests (发送HTTP请求)subprocess(执行系统命令)re (正则表达式操作)json (处理JSON数据) 需求分析: 视频的名称 F12 打开开发者工具 or 右击…

可视化-numpy实现线性回归和梯度下降法

代码如下&#xff1a; import numpy as np import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D from matplotlib.patches import Patch# 生成二维输入数据 np.random.seed(0) X1 2 * np.random.rand(100, 1) # 第一个特征 X2 3 * np.random.rand(10…

计算机网络 (53)互联网使用的安全协议

一、SSL/TLS协议 概述&#xff1a; SSL&#xff08;Secure Sockets Layer&#xff09;安全套接层和TLS&#xff08;Transport Layer Security&#xff09;传输层安全协议是工作在OSI模型应用层的安全协议。SSL由Netscape于1994年开发&#xff0c;广泛应用于基于万维网的各种网络…