CSS的基础语法和常见的语法简单归纳

CSS

CSS 是层叠样式表(Cascading Style Sheets)的缩写。它是一种用来控制网页样式和布局的标记语言。通过 CSS,可以定义网页中的元素(如文字、图像、链接等)的外观和排版方式,包括字体、颜色、大小、间距、边框等。CSS 的设计目标是将内容和样式分离,使得网页的结构和表现分离开来,使得修改样式不需要修改 HTML 结构,这样可以提高网页的灵活性和可维护性。

CSS的常见语法

  1. 选择器,属性和值
/* 选择器 */
h1 {
    /* 属性: 值 */
    color: blue;
    font-size: 24px;
    font-family: Arial, sans-serif;
}

p {
    color: green;
    font-size: 16px;
    line-height: 1.5;
}

h1 和 p 是选择器,它们指定了要应用样式的 HTML 元素类型。
在大括号 {} 内部,列出了一系列的属性-值对,每个属性定义了要应用的样式特性,值则指定了该特性的具体取值。
在这个例子中,color 属性指定了文本颜色,font-size 指定了字体大小,font-family 指定了字体系列,line-height 指定了行高。
CSS 的规则是通过选择器选择 HTML 元素,并应用这些元素的样式。这种选择器可以基于元素类型、类名、ID 等来进行。

  1. 类选择器(Class Selector)通过类名选择元素。
/* CSS */
.button {
    background-color: blue;
    color: white;
    padding: 10px 20px;
}

/* HTML */
<button class="button">Click Me</button>


  1. ID 选择器(ID Selector):通过元素的 ID 来选择元素。
/* CSS */
#header {
    font-size: 24px;
    color: red;
}

/* HTML */
<div id="header">Welcome!</div>

  1. 子元素选择器(Child Selector):选择某个元素的直接子元素。
/* CSS */
ul > li {
    color: green;
}

/* HTML */
<ul>
    <li>Item 1</li>
    <li>Item 2</li>
</ul>

  1. 伪类(Pseudo-class):为元素的特定状态(如鼠标悬停、被点击等)设置样式。
/* CSS */
a:hover {
    color: red;
}

/* HTML */
<a href="#">Hover over me</a>

  1. 组合选择器(Combination Selector):将多个选择器组合在一起,以便选择同时满足多个条件的元素。
/* CSS */
h1.special {
    color: blue;
}

/* HTML */
<h1 class="special">Special Heading</h1>

  1. 属性选择器(Attribute Selector):选择具有特定属性值的元素。
/* CSS */
input[type="text"] {
    border: 1px solid black;
}

/* HTML */
<input type="text" placeholder="Enter your name">

  1. 伪元素(Pseudo-element):为元素的特定部分(如首行、首字母、内容前后等)设置样式。
/* CSS */
p::first-line {
    font-weight: bold;
}

/* HTML */
<p>This is a paragraph.</p>

  1. 相邻兄弟选择器(Adjacent Sibling Selector):选择紧接在另一个元素后的元素。
/* CSS */
h2 + p {
    color: blue;
}

/* HTML */
<h2>Title</h2>
<p>This paragraph will be styled because it comes immediately after an h2 element.</p>

  1. 通用选择器(Universal Selector):选择所有元素。
/* CSS */
* {
    margin: 0;
    padding: 0;
}

/* This will apply to all elements in the document */

  1. 后代选择器(Descendant Selector):选择元素的后代元素。
/* CSS */
ul li {
    color: red;
}

/* HTML */
<ul>
    <li>Item 1</li>
    <li>Item 2</li>
</ul>

  1. 组合子元素选择器(Adjacent Sibling Selector):选择元素的直接子元素。
/* CSS */
div > p {
    font-weight: bold;
}

/* HTML */
<div>
    <p>This paragraph will be styled.</p>
    <span>This span will not be styled.</span>
</div>

  1. 交集选择器(Intersection Selector):同时匹配多个条件。
/* CSS */
button.primary {
    background-color: blue;
}

/* HTML */
<button class="primary">Submit</button>

  1. 选择器组合(Selector Grouping):选择器之间使用逗号分隔,以便一次性为多个选择器设置相同的样式。
/* CSS */
h1, h2, h3 {
    color: red;
}

/* HTML */
<h1>Heading 1</h1>
<h2>Heading 2</h2>
<h3>Heading 3</h3>

举个例子

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>CSS选择器示例</title>
    <style>
        /* 后代选择器 */
        div p {
            color: blue;
        }

        /* 组合子元素选择器 */
        div > span {
            font-weight: bold;
        }

        /* 交集选择器 */
        button.primary {
            background-color: green;
            color: white;
            padding: 10px 20px;
            border: none;
            border-radius: 5px;
        }

        /* 选择器组合 */
        h1, h2, h3 {
            font-family: Arial, sans-serif;
        }
    </style>
</head>
<body>
    <div>
        <p>This paragraph will be styled with blue color.</p>
        <span>This span will have bold font weight.</span>
    </div>

    <button class="primary">Submit</button>

    <h1>Heading 1</h1>
    <h2>Heading 2</h2>
    <h3>Heading 3</h3>
</body>
</html>

在这里插入图片描述

将 CSS 样式规则分开成一个单独的 .css 文件

/* style.css */

/* 后代选择器 */
div p {
    color: blue;
}

/* 组合子元素选择器 */
div > span {
    font-weight: bold;
}

/* 交集选择器 */
button.primary {
    background-color: green;
    color: white;
    padding: 10px 20px;
    border: none;
    border-radius: 5px;
}

/* 选择器组合 */
h1, h2, h3 {
    font-family: Arial, sans-serif;
}

假设上述css文件为style.css文件,编写html文件

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>CSS选择器示例</title>
    <!-- 引入外部 CSS 文件 -->
    <link rel="stylesheet" href="style.css">
</head>
<body>
    <div>
        <p>This paragraph will be styled with blue color.</p>
        <span>This span will have bold font weight.</span>
    </div>

    <button class="primary">Submit</button>

    <h1>Heading 1</h1>
    <h2>Heading 2</h2>
    <h3>Heading 3</h3>
</body>
</html>

通过将 CSS 规则放置在独立的 CSS 文件中,可以提高代码的可维护性和组织性,使得 HTML 文件更加简洁和易读。

除了列举的常见的语法,其实还有很多语法未提到。可以看下面的链接,进行学习。

菜鸟编程css入门教程

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Android】Apk图标的提取、相同目录下相同包名提取的不同图标apk但是提取结果相同的bug解决

一般安卓提取apk图标我们有两种常用方法&#xff1a; 1、如果已经获取到 ApplicationInfo 对象&#xff08;假设名为 appInfo&#xff09;&#xff0c;那么我们获取方法为&#xff1a; appInfo.loadIcon(packageManager)// 返回一个 Drawable 对象2、 如果还没获取到 Applica…

静态分析-RIPS-源码解析记录-01

token流扫描重构部分&#xff0c;这一部分主要利用php的token解析api解析出来的token流&#xff0c;对其中的特定token进行删除、替换、对于特定的语法结构进行重构&#xff0c;保持php语法结构上的一致性 解析主要在lib/scanner.php中通过Tokenizer这个类来实现,也就是在main…

ICode国际青少年编程竞赛- Python-4级训练场-列表综合练习

ICode国际青少年编程竞赛- Python-4级训练场-列表综合练习 1、 Flyer[3].step(1) Flyer[7].step(2) Flyer[11].step(1) for i in range(4):Flyer[i * 2].step(1) Flyer[8].step(3)for i in range(3):Dev.turnRight()Dev.step(-5)2、 for i in range(5):Flyer[i5].step(Flyer[…

git 推送github 选https遇到登录 openSSH问题

使用https需要使用github令牌token作为密码&#xff0c; 使用SSH不需要登录。 还有一个问题&#xff1a; 创建github仓库后没有quick setup页面解决办法 千万不要点击任何多的操作&#xff01;&#xff01;&#xff01;输入仓库名&#xff0c;直接create&#xff01;&#x…

数据分析——业务指标分析

业务指标分析 前言一、业务指标分析的定义二、业务问题构建问题构建的要求 三、业务问题的识别在识别问题的阶段对于企业内部收益者的补充 四、竞争者分析竞争者分析的内容竞争者分析目的案例 五、市场机会识别好的市场机会必须满足的条件市场机会案例 六、风险控制数据分析师常…

多模态CLIP和BLIP

一、CLIP 全称为Contrastive Language-Image Pre-Training用于做图-文匹配&#xff0c;部署在预训练阶段&#xff0c;最终理解为图像分类器。 1.背景 以前进行分类模型时&#xff0c;存在类别固定和训练时要进行标注。因此面对这两个问题提出CLIP&#xff0c;通过这个预训练…

1.前端环境搭建

1.安装nodejs 因为我们开发Vue项目需要使用npm命令来创建和启动&#xff0c;安装node.js是为了获得这个命令&#xff0c;目前和使用node.js无关 下载地址&#xff1a;http://nodejs.cn/download/ 下载完之后安装&#xff0c;通过cmd查看是否安装成功 node --version2.创建项目…

老板必读:防数据泄露,保卫您的商业秘密

在信息技术高速发展的今天&#xff0c;数据泄露已成为所有企业都必须正视的风险。对于企业而言&#xff0c;数据不仅仅是一堆数字和信息的集合&#xff0c;更是企业的核心竞争力与商业秘密的载体。一旦数据泄露&#xff0c;不仅会导致经济损失&#xff0c;还可能使企业信誉受损…

如何解读 Web 自动化测试 Selenium API?

Web自动化测试是一种通过编写代码来模拟用户操作&#xff0c;并验证Web应用程序的功能和性能的技术。Selenium是一个流行的Web自动化测试工具&#xff0c;它提供了一组API来与Web浏览器进行交互。在本文中&#xff0c;我们将深入探讨Selenium API&#xff0c;并解释如何从零开始…

conan2 基础入门(01)-介绍

conan2 基础入门(01)-介绍 文章目录 conan2 基础入门(01)-介绍⭐什么是conan官网Why use Conan? ⭐使用现状版本情况个人知名开源企业 ⭐ConanCenter包中心github ⭐说明文档END ⭐什么是conan 官网 官网&#xff1a;Conan 2.0: C and C Open Source Package Manager 一句话来…

二维视觉尺寸测量简单流程

代码示例&#xff1a;opencv实战---物体尺寸测量_opencv尺寸测量精度-CSDN博客 灰度化 简化图像处理&#xff1a;灰度图像只包含亮度信息&#xff0c;不包含颜色信息&#xff0c;因此数据量比彩色图像小&#xff0c;处理起来更加简单和快速。这对于需要实时处理大量图像数据的场…

virtualbox下ubantu20.04版本实现与window的复制粘贴

1.建议开启双向 2.打开Ubuntu命令终端 快捷键 ctrialtt&#xff0c;具体在设置里面查看快捷键 3.卸载已有工具 sudo apt-get autoremove open-vm-tools4.安装 sudo apt-get install open-vm-tools-desktop5.记得sudo reboot重启 sudo reboot这里记得加上sudo&#xff0c;…

python软件测试Jmeter性能测试JDBC Request(结合数据库)的使用详解

这篇文章主要介绍了python软件测试Jmeter性能测试JDBC Request(结合数据库)的使用详解,文中通过示例代码介绍的非常详细&#xff0c;对大家的学习或者工作具有一定的参考学习价值&#xff0c;需要的朋友们下面随着小编来一起学习学习吧 JDBC Request 这个 Sampler 可以向数据…

大模型时代,程序员如何卷?

最近在看电影《碟中谍7》&#xff0c;该片讲述了特工伊森亨特尝试与一个被称为智体的全能人工智能作战&#xff0c;其可以即时访问任何在线网络&#xff0c;他和他的团队成员试图找回控制人工智能智体所必需的两部分钥匙并将其摧毁的故事。 在剧中&#xff0c;智体是一个虚拟反…

Java --- 集合(2)--- 这篇文章让你学会如何使用List集合

本期文章来自黑马程序员以及Java入门到精通&#xff0c;希望各位大佬发现文章的瑕疵及时表出&#xff0c;另外也感谢您的收看。话不多说&#xff0c;直接进入正题...... 目录 一.List集合的使用&#xff1a; 二.三种遍历List方式&#xff1a; 首先还是给大家呈现这幅图&#x…

Coursera吴恩达深度学习专项课程01: Neural Networks and Deep Learning 学习笔记 Week 03

Neural Networks and Deep Learning Course Certificate 本文是学习 https://www.coursera.org/learn/neural-networks-deep-learning 这门课的笔记 Course Intro 文章目录 Neural Networks and Deep LearningWeek 03: Shallow Neural NetworksLearning Objectives Neural Ne…

短剧APP开发,为短剧市场提供更多活力

近年来&#xff0c;短剧一直是一个大热赛道&#xff0c;不仅各大视频平台刮起了一股短剧热潮&#xff0c;各大品牌也纷纷开始进军短剧市场。短剧作为当下的流量密码&#xff0c;深受各大短剧观众与创业者的关注。吸引了大量的资本、制作方涌入到市场中&#xff0c;短剧行业发展…

taro3兼容支付宝/微信小程序的自定义拖拽排序组件

描述&#xff1a;列表可以完成拖拽排序 此组件是根据支付宝原生文档改编成taro-vue3的形式&#xff0c;只保留了拖拽的部分&#xff0c;其他功能都去除了&#xff0c;测试下来可以兼容支付宝和微信小程序。 支付宝原生文档&#xff1a; https://opendocs.alipay.com/support/…

未来办公新方式--智能体与程序完美配合

Agent AI智能体的未来 工作中&#xff0c;有时候我们就像是在不停地踩着缝纫机&#xff0c;重复地做着那些单调乏味的任务&#xff0c;不仅耗时费力&#xff0c;还特别容易出错。可是&#xff0c;咱们现在可是生活在数字化时代啊&#xff01;这时候&#xff0c;Python编程语言…

基于Nios软件实现流水灯+串口输出

基于NIOS-II软核实现流水灯串口输出 引言&#xff1a; ​ 在现代电子设计领域&#xff0c;FPGA&#xff08;现场可编程门阵列&#xff09;因其灵活性和并行处理能力而成为实现复杂数字系统的首选平台。Nios II&#xff0c;作为Altera&#xff08;现为Intel旗下&#xff09;提供…