首页 > 其他分享 >CSS学习笔记

CSS学习笔记

时间:2024-05-06 22:45:31浏览次数:31  
标签:attr 元素 笔记 学习 value 选择器 CSS 属性

------------恢复内容开始------------

CSS

CSS(Cascading Style Sheets,层叠样式表),是一种用来表现 HTML 或 XML 等文件样式的计算机语言。CSS 不仅可以静态地修饰网页,还可以配合各种脚本语言动态地对网页各元素进行格式化。

CSS 语法

  • 语法由一个选择器(selector)起头,选择将要用来添加样式的 HTML 元素。接着输入一对大括号,在大括号内部定义一个或多个形式为属性(property)-(value)对的声明。每个声明指定所选元素的一个属性,后面跟想赋给属性的值。如:
h1 {
  color: red;
  font-size: 5em;
}
  • 冒号之前是属性,冒号之后是值。不同的 CSS 属性对应不同的合法值。
  • 当一个属性与一个值配对时,这种配对被称为 CSS 声明。完成一个声明块后声明块与选择器配对以生成 CSS 规则集。
  • 属性和值不区分大小写。

CSS 模块

  • CSS 由许多模块(module)构成。

格式化 HTML 元素

  • 元素选择器,即直接匹配 HTML 元素的选择器。例如,若要样式化一个文档中所有的段落,只需使用选择器p
  • 用逗号将不同选择器隔开,即可一次使用多个选择器:
p,
li {
  color: green;
}
  • 移除无序列表<ul>的项目符号:
li {
  list-style-type: none;
  list-style-type: square;//小圆球改为小方块
}

使用类名

  • 给元素添加类名属性class,再选中类名进行编辑。如 HTML 定义
<ul>
  <li>项目一</li>
  <li class="special">项目二</li>
  <li>项目 <em>三</em></li>
</ul>

在 CSS 中,类前面加一个点(.)进行调用从而选择器选中:

.special {
  color: orange;
  font-weight: bold;
}

这是对于所有属于class="special"的元素,也可特定元素类型调用:

li.special {
  color: orange;
  font-weight: bold;
}

根据元素在文档中的位置确定样式

  • 使用包含选择符选择器,在两个选择器间加上空格表示嵌套关系:
li em{
  color: green;
}
  • 使用相邻选择符选择器,表示与前面元素具有相同层级的段落样式:
h1 + p {
  font-size: 200%;
}

根据状态确定样式

  • 即设置 CSS 样式取决于是否是未访问的、访问过的、被鼠标悬停的、被键盘定位的,亦或是正在被点击当中的状态,这个标签有着不同的状态。
a:link {
  color: pink;
} // 未被访问
a:visited {
  color: green;
} // 被访问过
a:hover {
  text-decoration: none;
} // 鼠标悬停时无下划线
  • 选择器和选择符可以嵌套使用

在 HTML 中应用 CSS

  • HTML 中应用 CSS 的三种方式:外部样式表、内部样式表、内联样式表

外部样式表

  • 即在<head>中设置<link rel="stylesheet" href="...">

内部样式表

  • 将 CSS 放置在 HTML<head>中的<style>元素中

内联样式

  • 影响单个 HTML 元素的 CSS 声明,包含在元素的style属性中,如:
<h1 style="color: blue;background-color: yellow;border: 1px solid black;">

内联样式最好避免。

选择器

  • 两个选择器之间加上一个逗号变为选择器列表。

类型、类和ID选择器

  • 即区分指向元素、class和一个 id
  • 类型选择器,选择一个标签名或者元素
  • 全局选择器(*),选中文档中的所有内容(或者是父元素中的所有内容)。全局选择器的一种用法是让选择器更易读,更明显地表明它们的作用。例如,如果我想选中任何
    元素的第一子元素,不论它是什么元素,都给它加粗:
article *:first-child {
}
  • 类选择器class嵌套定义
如 <div class="notebox warning"> Haer</div>
CSS 调用时:
.notebox.warning{
}
  • ID 选择器:以井号(#)开头,基本上与类选择器是同种用法。在一篇文档中,一个 ID 只会用到一次

关系选择器

  • 后代选择器:典型用单个空格(" ")字符————组合两个选择器。
  • 子代关系选择器:子代关系选择器是个大于号(>),只会在选择器选中直接子元素的时候匹配。继承关系上更远的后代则不会匹配。
  • 邻接兄弟:邻接兄弟选择器(+)用来选中恰好处于另一个在继承关系上同级的元素旁边的物件。
  • 通用兄弟:如果你想选中一个元素的兄弟元素,即使它们不直接相邻,你还是可以使用通用兄弟关系选择器(~)。

属性选择器

存否和值选择器

  • 这些选择器允许基于一个元素自身是否存在(例如href)或者基于各式不同的按属性值的匹配,来选取元素。
选择器 示例 描述
[attr] a[title] 匹配带有一个名为attr的属性的元素--方括号里的值。
[attr=value] a[href="https://example.com"] 匹配带有一个名为attr的属性的元素,其值正为value——引号中的字符串。
[attr~=value] p[class~="special"] 匹配带有一个名为attr的属性的元素,其值正为value,或者匹配带有一个attr属性的元素,其值有一个或者更多,至少有一个和value匹配。注意,在一列中的好几个值,是用空格隔开的。
[attr|=value] div[lang|="zh"] 匹配带有一个名为attr的属性的元素,其值可正为value,或者开始为value,后面紧随着一个连字符。

子字符串匹配选择器

  • 这些选择器让更高级的属性的值的子字符串的匹配变得可行。例如,如果你有box-warningbox-error类,想把开头为"box-"字符串的每个物件都匹配上的话,你可以用[class^="box-"]来把它们两个都选中。
选择器 示例 描述
[attr^=value] li[class^="box-"] 匹配带有一个名为attr的属性的元素,其值开头为value子字符串。
[attr$$(单个符号出问题了,其实是一个)=value] li[class$="-box"] 匹配带有一个名为attr的属性的元素,其值结尾为value子字符串
[attr*=value] li[class*="box"] 匹配带有一个名为attr的属性的元素,其值的字符串中的任何地方,至少出现了一次value子字符串。

标签属性选择器

  • 根据一个元素上的某个标签的属性的存在以选择元素:
a[title] {
}

或者根据一个有特定值的标签属性是否存在来选择:

a[href="https://example.com"]{
}

伪类与伪元素

  • 一个伪类,用来样式化一个元素的特定状态,以单冒号标注。例如:
a:hover {
}
  • 伪元素,选择一个元素的某个部分而不是元素自己,以双冒号标注,相当于将元素的某个状态认为是某个类的元素。例如,::first-line是会选择一个元素(下面的情况中是<p>)中的第一行
p::first-line {
}

运算符

优先级

  • 层叠:同一类型选择器的两种样式,后面声明的样式会替换样式表中较早出现的冲突样式。
  • 一个元素选择器不是很具体,则会选择页面上该类型的所有元素,所以它的优先级就会低一些;一个类选择器稍微具体点,则会选择该页面中有特定class属性值的元素,所以它的优先级就要高一点。
  • 继承:一些设置在父元素上的 CSS 属性是可以被子元素继承的,有些则不能。

控制继承

  • inherit: 设置该属性会使子元素属性和父元素相同。实际上,就是“开启继承”。

  • initial: 将应用于选定元素的属性值设置为该属性的初始值。

  • revert: 将应用于选定元素的属性值重置为浏览器的默认样式,而不是应用于该属性的默认值。在许多情况下,此值的作用类似于 unset

  • revert-layer: 将应用于选定元素的属性值重置为在上一个层叠层中建立的值。

  • unset: 将属性重置为自然值,也就是如果属性是自然继承那么就是 inherit,否则和 initial一样

  • CSS 的简写属性 all 可以用于同时将这些继承值中的一个应用于(几乎)所有属性。它的值可以是其中任意一个(inheritinitialunsetrevert)。这是一种撤销对样式所做更改的简便方法,以便回到之前已知的起点。

  • 一个选择器的优先级可以说是由三个不同的值(或分量)相加,可以认为是百(ID)十(类)个(元素)—— 三位数的三个位数:
    · ID:选择器中包含 ID 选择器则百位得一分。
    · :选择器中包含类选择器、属性选择器或者伪类则十位得一分。
    · 元素:选择器中包含元素、伪元素选择器则个位得一分。

  • 内联样式,即 style 属性内的样式声明,优先于所有普通的样式,无论其优先级如何。这样的声明没有选择器,但它们的优先级可以理解为 1-0-0-0;即无论选择器中有多少个 ID,它总是比其他任何优先级的权重都要高。

  • 有一个特殊的 CSS 可以用来覆盖所有上面所有优先级计算,不过需要很小心的使用——!important。用于修改特定属性的值,能够覆盖普通规则的层叠。

函数

  • calc()函数,允许在 CSS 中进行简单的计算:width: calc(90% - 30px);函数由函数名和括号组成,括号内是函数的值。在上面 calc() 的例子中,这些值定义了这个盒子的宽度为包含块宽度的 90%,减去 30 像素。
  • transform()函数。有多种取值,如rotate():transform: rotate(0.8turn);

@规则(@rules)

  • CSS 的 @rules是一些特殊的规则,提供了关于 CSS 应该执行什么或如何表现的指令。
  • @import:将一个样式表导入另一个 CSS 样式表 @import "Name.css"
  • @media:创建媒体查询

简写属性

  • 一些属性,如 fontbackgroundpaddingbordermargin 等属性称为简写属性。它们允许在一行中设置多个属性值,从而节省时间并使代码更整洁。
padding-top: 10px;
padding-right: 15px;
padding-bottom: 15px;
padding-left: 5px;
等价于:
padding: 10px 15px 15px 5px;

background-color: red;
background-image: url(bg-graphic.png);
background-position: 10px 10px;
background-repeat: repeat-x;
background-attachment: fixed;
等价于:
background: red url(bg-graphic.png) 10px 10px repeat-x fixed;

标签:attr,元素,笔记,学习,value,选择器,CSS,属性
From: https://www.cnblogs.com/aaplloo/p/18176113

相关文章

  • 挑战前端基础120题--css3基础篇
    1. CSS选择器种类、权重、优先级计算、匹配顺序、继承?!important>行内样式>id>类选择器,伪类(:hover),属性选择器>标签,伪元素选择器(::before::after:root)>通配符,继承,关系选择器(兄弟选择器(子选择器(>),相邻选择器(+)>浏览器默认能够被继承的属性:font-size/f......
  • 学习笔记:生成函数I
    形式幂级数多项式与形式幂级数多项式:\(A(x)=\sum_{i=0}^na_ix^i\)。形式幂级数:\(A(x)=\sum_{i\ge0}a_ix^i\)。其中\(a_i\inK\),\(K\)是一个域,通常考虑\(K=\mathbb{R}\)或\(K=\mathbb{Z}_{p}\)。注意这里的\(x\)可以理解为独立于域\(K\)的一个符号。......
  • 《自动机理论、语言和计算导论》阅读笔记:p428-p525
    《自动机理论、语言和计算导论》学习第14天,p428-p525总结,总计98页。一、技术总结1.Kruskal'salgorithm(克鲁斯克尔算法)2.NP-CompleteProblemsp434,WesayLisNP-completeifthefollowingstatementsaretrueaboutL:(1)LisinNP。(2)ForeverylanguageL'......
  • xxe-基于Pikachu的学习
    XXE漏洞XML外部实体注入(XXE)的原理和应用_xml注入原理-CSDN博客XXE(XML外部实体注入)漏洞分析——pikachu靶场复现_pikachuxxe-CSDN博客原理XML外部实体注入漏洞(XMLExternalEntityInjection)简称XXE,XXE漏洞发生在应用程序解析XML输入时,没有禁止外部实体的加载,导致可加载恶意......
  • HTML学习笔记
    1、HTML基础介绍HTML(HyperTextMarkupLanguage)是用来描述和定义网页内容的标记语言。主要用于创建结构化文档,比如网页文章、视频嵌入、图片展示等。参考文档:HTML基础HTML简介HTML编辑器2.常用标签和属性标题标签:<h1>到<h6>,表示6级不同重要性的标题。段落标签:<p>,用......
  • CSS 学习笔记
    ​ 1、CSS基础定义:CSS(CascadingStyleSheets)是用于设置HTML元素显示样式的语言。用途:控制网页的布局、颜色、字体和动画等。基本语法:cssCopycodeselector{ property:value;}例如:cssCopycodep{ color:red; font-size:16px;}参考文档:CSS简......
  • unserialize-基于Pikachu的学习
    php反序列化PHP反序列化漏洞详解(万字分析、由浅入深)_php反序列化漏洞原理-CSDN博客PHP反序列化基础-HelloCTF(hello-ctf.com)PHP反序列化漏洞的原理及复现-FreeBuf网络安全行业门户原理:php程序为了保存和转储对象,提供了序列化的方法。php序列化是为了在程序运行的过程......
  • uniapp renderjs "只能行内调用, 不能通过方法调用" 学习
    故障代码app报错(h5正常),说echarts为undefined。<viewclass="content"><button@click="get"@touchend="update">update</button><imgsrc=""alt="我是alt"id="img"/></vi......
  • 敏感数据泄露-基于Pikachu的学习
    敏感数据泄露原理由于管理员或者技术人员等各种原因导致敏感信息泄露。许多web应用程序和app都无法正确保护敏感数据,攻击者可以通过窃取或修改未加密的数据来实施信用卡诈骗、身份盗窃或其他犯罪行为。未加密的敏感数据容易受到破坏,因此,我们需要对敏感数据加密,这些数据包括:传输......
  • 代理 mitmproxy Python非命令行启动 使用笔记(一)
    代理mitmproxyPython非命令行启动使用笔记(一)mitmproxyPython非命令行启动在进行APP应用操作时,难免会遇到抓包操作,于是我们这里使用mitmproxy来完成这能力目录mitmproxy简介mitmproxy常用的命令行启动mitmproxy非命令行脚本直接启动,两种方式简介mitmproxy是......