CSS入门笔记

news2024/11/13 11:36:07

目录

概述

组成

CSS 语法

常见的使用方式

CSS 优先级

CSS 选择器

1. 基本选择器

2. 属性选择器

3. 伪类选择器

4. 组合选择器

示例 

优先级

边框样式与盒子模型

单个边框

边框轮廓(Outline)

盒子模型

模型介绍

边距设置

布局示例

文本样式

基本属性

文本显示

元素显示与隐藏

文本省略(长文本省略)


概述

CSS(Cascading Style Sheets,层叠样式表)是一种用于描述网页外观和布局的样式表语言。它为 HTML 提供了视觉上的美化工具,能够控制网页中元素的展示方式,包括字体、颜色、布局、间距、边框等。

  • 层叠:CSS 的“层叠”概念意味着样式规则可以以多种方式应用,它们的优先级会按一定的规则叠加生效。样式可以直接在 HTML 元素中定义,可以在页面的 <style> 标签中编写,也可以存储在外部的 CSS 文件中。
  • 样式:CSS 为网页的不同元素赋予样式,帮助开发者定义元素的外观,如字体样式、背景颜色、边距、边框等。

组成

  • 选择器:用来选择需要设置样式的 HTML 元素。比如选择 <p> 标签、选择类名为 header 的元素等。
  • 属性:指代可以设置的样式种类,如字体大小、背景颜色、边框样式等。
  • 值:属性对应的具体样式定义,比如 color 属性的值可以是 red,表示将文本颜色设置为红色。

CSS 语法

CSS 的基本语法如下:

选择器 {
    属性名: 属性值;
    属性名: 属性值;
}

示例: 

p {
    color: red;
    font-size: 16px;
}

这段代码将所有 <p> 标签的文本颜色设置为红色,并且字体大小设置为 16 像素。

常见的使用方式

行内样式:直接在 HTML 元素中使用 style 属性定义 CSS。

<p style="color: red;">这是一个红色段落。</p>

内部样式表:在 HTML 文档的 <head> 标签中使用 <style> 标签定义样式。

<style>
    p {
        color: blue;
    }
</style>

外部样式表:将 CSS 代码放在单独的 .css 文件中,并通过 <link> 标签引入到 HTML 中。

<link rel="stylesheet" href="styles.css">

外部样式表是推荐的使用方式,因为它使样式与内容分离,提高代码的可维护性。

CSS 优先级

CSS 的优先级规则决定了当多个样式应用于同一元素时,哪个样式将会生效。

优先级遵循以下层叠顺序,数字越大优先级越高:

  1. 浏览器默认样式:每个浏览器都有默认的样式(例如 <h1> 标签的字体通常比 <p> 标签大),但这些样式通常会被用户定义的样式覆盖。
  2. 外部样式表:使用 <link> 引入的外部样式表,通常被优先考虑,但优先级较低于内部和内联样式。
  3. 内部样式表:在 HTML 的 <head> 标签中的 <style> 定义的样式,优先级高于外部样式表。
  4. 内联样式:直接在 HTML 元素中使用 style 属性定义的样式,优先级最高。

CSS 选择器

选择器用于指定哪些 HTML 元素应用特定的样式规则。不同类型的选择器可以根据标签名、类名、ID、属性等条件选择元素。

1. 基本选择器

分类名称符号作用示例
元素选择器标签选择器标签名选择文档中指定的 HTML 标签div { }
类选择器类选择器.选择具有特定类 (class) 的元素.center { }
ID选择器ID 选择器#选择具有特定 ID (id) 的元素,ID 是唯一的#username { }
通用选择器通配符选择器*选择文档中的所有元素* { }

2. 属性选择器

属性选择器基于元素的属性和属性值选择元素。

选择器作用示例
[attr]选择具有指定属性的所有元素[type] { }
[attr=value]选择具有指定属性值的所有元素[type="text"] { }
[attr~=value]选择属性包含空格分隔值的元素[title~="example"] { }
[attr^=value]选择以某值开头的属性[href^="https"] { }
[attr$=value]选择以某值结尾的属性[src$=".jpg"] { }

3. 伪类选择器

伪类选择器用于选择特殊状态下的元素(如鼠标悬停时、选中时等)。

选择器作用示例
:hover选择鼠标悬停时的元素a:hover { }
:first-child选择作为父元素的第一个子元素的元素p:first-child { }
:nth-child(n)选择某个元素的第 n 个子元素li:nth-child(2) { }

4. 组合选择器

组合选择器允许将多个选择器组合在一起,以选择更具体的元素。

选择器名称符号作用示例
分组选择器分组选择器,同时应用相同的样式到多个选择器h1, h2, h3 { }
后代选择器后代选择器空格选择某元素的所有后代元素div p { }
子元素选择器子选择器>选择某元素的直接子元素ul > li { }

示例 

优先级

CSS 选择器的优先级可以用来决定当多个规则冲突时,哪一个会被应用。具体优先级规则如下:

优先级规则:

  1. ID选择器 (#) 的优先级最高。
  2. 类选择器 (.)、属性选择器 ([attr])、以及 伪类选择器 (:hover, :nth-child) 的优先级次之。
  3. 标签选择器(元素选择器)和 伪元素选择器(::before, ::after)的优先级更低。
  4. 通配符选择器 (*),继承的样式,以及 浏览器默认样式 具有最低优先级。

优先级示例:

就近原则

如果两个选择器的优先级相同,则后写的选择器会覆盖之前的选择器样式,这被称为就近原则。

边框样式与盒子模型

单个边框

CSS 边框属性可以为元素设置边框,并允许定制边框的各个部分,如上边框、左边框、下边框和右边框。

单个边框

  • border:同时设置四边的边框。
  • border-top:设置上边框。
  • border-left:设置左边框。
  • border-bottom:设置下边框。
  • border-right:设置右边框。

无边框

  • 当 border 值为 none 时,边框将不显示。
div {
    width: 200px;
    height: 200px;
    border: none;
}

圆角边框

  • 使用 border-radius 属性可以设置盒子的圆角效果。

边框轮廓(Outline)

轮廓属性 outline 在元素边框的外部绘制一条线,用于突出显示元素。轮廓不会影响元素的实际大小或布局。

盒子模型

模型介绍

盒子模型是网页布局的基础,通过控制元素的边距、内边距、边框和内容区来进行布局和调整。元素在页面中被看作一个矩形盒子,这个盒子由以下几个部分组成:

  • element:网页中的元素。
  • padding:内边距,指元素内容与边框之间的空间。
  • border:边框,包围元素的边界线。
  • margin:外边距,元素与其他元素之间的空间。

边距设置

CSS 提供了灵活的方式来设置外边距(margin)和内边距(padding)。这些属性可以单独指定四个方向的边距(上、右、下、左),也可以使用简写形式一次设置多个方向的值。

外边距 (margin)

单独设置四个方向的外边距:

margin-top
margin-right
margin-bottom
margin-left

使用 auto 设置左右外边距,自动居中:

margin: auto;

使用简写方式:

一个值:四个方向相同的外边距。

margin: 10px; /* 所有 4 个外边距均为 10px */

两个值:第一个值应用于上下,第二个值应用于左右。

margin: 10px 5px; /* 上下为 10px,左右为 5px */

三个值:第一个值应用于上,第二个值应用于左右,第三个值应用于下。

margin: 10px 5px 15px; /* 上 10px,左右 5px,下 15px */

四个值:依次应用于上、右、下、左。

margin: 10px 5px 15px 20px; /* 上 10px,右 5px,下 15px,左 20px */

内边距 (padding)

类似于 margin,内边距也可以单独设置四个方向:

padding-top
padding-right
padding-bottom
padding-left

布局示例

文本样式

基本属性

属性名作用属性取值
width设置元素宽度值可以为像素(px)或百分比(%)
height设置元素高度值可以为像素(px)或百分比(%)
color设置文本颜色颜色名称、HEX值、RGB或HSL值,如 red#FF0000rgb(255,0,0)
font-family设置字体样式常用字体有 宋体楷体ArialTimes New Roman
font-size设置字体大小px(像素值,绝对大小)或 em(相对父元素的字体大小)。例如 16px1.5em
text-decoration设置文本装饰underline(下划线)、overline(上划线)、line-through(删除线)、none(无线条)
text-align设置水平对齐方式left(左对齐)、right(右对齐)、center(居中对齐)、justify(两端对齐,使文本行宽相同)
line-height设置行高和行间距通常用 pxem 设置,例如 1.5em 表示行高是字体大小的1.5倍
vertical-align设置垂直对齐方式top(顶端对齐)、bottom(底端对齐)、middle(居中对齐),也可以使用百分比来相对父元素进行对齐
display设置元素显示方式inline(内联元素,无换行)、block(块级元素,独占一行)、inline-block(内联元素,但可以设置宽高)、none(隐藏元素)

文本显示

元素显示与隐藏

显示元素:通过 display 或 visibility 属性控制元素的显示。默认情况下,display 为 block 或 inline,显示元素。

隐藏元素:

  • display: none;:元素完全隐藏且不占据页面空间。
  • visibility: hidden;:元素隐藏,但仍然占据页面空间。

文本省略(长文本省略)

当文本内容超过容器的宽度时,可以使用 text-overflow 和相关的 CSS 属性使文本显示为省略号(...)。常用于单行和多行文本的情况。

单行文本省略:

.single-line {
    width: 200px;          /* 宽度 */
    white-space: nowrap;    /* 不换行 */
    overflow: hidden;       /* 超出部分隐藏 */
    text-overflow: ellipsis; /* 超出部分显示省略号 */
}

多行文本省略(使用 line-clamp 进行文本截断):

.multi-line {
    width: 200px;
    display: -webkit-box;
    -webkit-line-clamp: 3;   /* 限制显示的行数 */
    -webkit-box-orient: vertical;
    overflow: hidden;        /* 超出部分隐藏 */
    text-overflow: ellipsis; /* 显示省略号 */
}

示例 

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

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

相关文章

支付宝开放平台-开发者社区——AI 日报「9 月 19 日」

1️⃣ 保守派中间派原生派&#xff0c;谁将主导搜索引擎未来三十年&#xff1f; 机器之心&#xff5c;阅读原文 拥有智能索引库、专属知识库、混合大模型调度系统的 AI 原生搜索&#xff0c;能否成为正统&#xff0c;引领搜索引擎的下一个三十年&#xff1f;AI 正成为「端掉」…

数据处理与统计分析篇-day05-Pandas详解

创建DaraFrame对象 概述 DataFrame是一个表格型的结构化数据结构&#xff0c;它含有一组或多组有序的列&#xff08;Series&#xff09;&#xff0c;每列可以是不同的值类型&#xff08;数值、字符串、布尔值等&#xff09;。 DataFrame是Pandas中的最基本的数据结构对象&…

51单片机-DA(数字转模拟)

作者&#xff1a;Whappy 个人理解&#xff1a;将电压或电流信号进行等分或不等分&#xff08;高电平的电压范围和低电平的范围&#xff0c;如0-5v&#xff0c;0-1.8位低电平&#xff0c;3.8-5v为高电平&#xff09;&#xff0c;同样也是通过采样&#xff0c;量化等操作将不连续…

工业仪器仪表指针数据集

工业仪器仪表指针数据集: 可用于仪表指针识别、分割项目 分别含有1000张原图和标签 图片中有各类工业仪器表盘&#xff0c;指针。 工业仪器仪表指针数据集介绍 数据集名称 工业仪器仪表指针数据集&#xff08;Industrial Instrument Needle Dataset&#xff09; 数据集概述 …

Introduction to LLMs in Python

1、The Large Language Models (LLMs) Landscape 1.1、Introducing large language models 1.1.1、LLMs development lifecycle 1.1.2、Pre-training and fine-tuning We can often use a pre-trained LLM as a foundation and fine-tune it with our specific data, saving …

【笔记】2.1 半导体三极管(BJT,Bipolar Junction Transistor)

一、结构和符号 1. 三极管结构 常用的三极管的结构有硅平面管和锗合金管两种类型。各有PNP型和NPN型两种结构。 左图是NPN型硅平面三极管,右图是PNP型锗合金三极管。 从图中可见平面型三极管是先在一块大的金属板上注入杂质使之变成N型,然后再在中间注入杂质使之变成P型,…

从零开始讲DDR(2)——DDR的核心技术

我们知道DDR区分于之前的SDRAM最大的点就在于它可以做到“在时钟周期的上升沿和下降沿都能传输数据&#xff0c;这样它的传输速率就比SDRAM快了一倍”。其实要做到这点&#xff0c;背后需要的技术突破体现在很多层面&#xff1a; 一、双边沿触发技术&#xff08;Double Data Ra…

DPDK 简易应用开发之路 2:UDP数据包发送及实现

本机环境为 Ubuntu20.04 &#xff0c;dpdk-stable-20.11.10 发送数据包的通用步骤 初始化DPDK环境&#xff1a; 调用 rte_eal_init() 来初始化DPDK的EAL&#xff08;环境抽象层&#xff09;&#xff0c;这是所有DPDK应用程序的第一步&#xff0c;用于初始化硬件、内存和逻辑核…

希尔排序(ShellSort)详解

希尔排序的底层是插入排序&#xff0c; 不了解插入排序的友友可以先看我下面这篇文章&#xff1a; 插入排序详解-CSDN博客 思路 就整体而言&#xff0c;希尔排序不过是多用了几次插入排序&#xff0c; 预排序→插入排序&#xff0c; 预排序的作用是让数组元素更接近于有序…

FreeRtos中Task函数详解

前言&#xff1a;本篇笔记参考韦东山老师&#xff0c;B站视频链接放在最后。 Task任务基本概念 在使用FreeRtos的程序中&#xff0c;可以创建多个Task来完成程序功能&#xff0c;Task是轻量级的独立执行单元&#xff0c;被FreeRtos的调度器管理&#xff0c;每个任务有着自己的…

从零开始手搓Transformer#Datawhale组队学习Task1#

从零开始手搓Transformer 目录 缩放点积注意力DotProductAttention 多头注意力Multi-Head Attention 位置编码Position Encoder 前馈神经网络FFN 残差连接和层归一化&#xff08;Add&Norm&#xff09; 编码器Encoder 解码器Decoder 编码器-解码器Encoder-Decoder …

pg入门3—详解tablespaces2

pg默认的tablespace的location为空&#xff0c;那么如果表设置了默认的tablespace&#xff0c;数据实际上是存哪个目录的呢? 在 PostgreSQL 中&#xff0c;如果你创建了一个表并且没有显式指定表空间&#xff08;tablespace&#xff09;&#xff0c;或者表空间的 location 为…

ISSTA 2024盛大开幕:中国学者的录取数和投稿量均位列第一

随着夏日的尾声&#xff0c;全球软件测试领域的专家和学者齐聚在奥地利维也纳。共同参与这场科技盛宴——ISSTA 2024。这场国际会议正如火如荼地进行中&#xff0c;吸引了来自世界各地的专业人士参与。 会议实况&#xff1a; 9月16日与17日&#xff0c;大会安排了丰富的社交活…

Qt:懒汉单例(附带单例使用和内存管理)

前言 本文主要写懒汉单例以及单例的释放&#xff0c;网上很多教程只有单例的创建&#xff0c;但是并没有告诉我们单例的内存管理&#xff0c;这就很头疼。 正文 以下是两种懒汉单例的写法 1. 懒汉式单例&#xff08;多线程不安全&#xff0c;但是在单线程里面是安全的&…

【828华为云征文|华为云Flexus X实例部署指南:轻松搭建可道云KODBOX项目】

文章目录 华为云 Flexus X 实例&#xff1a;引领高效云服务的新时代部署【可道云KODBOX】项目准备工作具体操作指南服务器环境确认宝塔软件商店操作域名解析可道云KODBOX登录页效果验证 总结 华为云 Flexus X 实例&#xff1a;引领高效云服务的新时代 在云计算领域&#xff0c…

【UE5】使用2DFlipbook图作为体积纹理,实现实时绘制体积纹理【第一篇】

这是一篇对“Creating a Volumetric Ray Marcher-Shader Bits”的学习心得 文章时间很早&#xff0c;因此这里针对UE5对原文做出兼容性修正&#xff08;为避免累赘不做出注明。链接如上&#xff0c;有需要自行学习&#xff09; 以及最后对Custom做可能的蓝图移植&#xff0c;做…

虚拟机与物理机的文件共享

之前往虚拟机里传文件都是直接拖拽或者借助工具上传&#xff0c;都不太方便&#xff0c;倘若物理机的文件直接能在虚拟机里读取使用&#xff0c;那多好啊~ 1 虚拟机设置 注意文件夹名称不要中文/空格 2 验证Kali下分享文件夹功能是否启用 vmware-hgfsclient 3 创建挂载目录…

【踩坑】utools黑框和chrome白屏

记录一下bug&#xff0c;后面找到解决方案再同步 刚开机会黑框&#xff0c;但是输入wx能正常打开&#xff0c;功能一切正常 过一段时间会恢复正常 chrome会白屏 过一段时间恢复正常&#xff0c;大概是utools恢复正常时间的三倍 猜测是前两天关机时提示xx应用阻止关机&#…

旷视轻量化网络shufflenet算法解读

目录 预备知识 1. 回顾MobileNet V1的核心思想---深度可分离卷积 2.ShuffleNet主要有两个创新点 2.1 分组卷积与11分组卷积 2.2 channel Shuffle&#xff08;通道重排&#xff09; 2.3 通道重排过程 3. ShuffleNet网络结构 3.1 ShuffleNet unit 3.2 不同分组数的Shu…

Mamba YOLO World

论文地址&#xff1a;https://arxiv.org/pdf/2409.08513v1 代码地址&#xff1a; GitHub - Xuan-World/Mamba-YOLO-World: Mamba-YOLO-World: Marrying YOLO-World with Mamba for Open-Vocabulary Detection 开集检测&#xff08;OVD&#xff09;旨在检测预定义类别之外的物体…