CSS 基础篇

1.CSS是什么?

css(层叠样式表)英文全称:Cascading Style Sheets,是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。CSS不仅可以静态地修饰网页,还可以配合各种脚本语言动态地对网页各元素进行格式化。
CSS 能够对网页中元素位置的排版进行像素级精确控制,支持几乎所有的字体字号样式,拥有对网页对象和模型样式编辑的能力。 样式通常保存在外部的 .css 文件中。通过仅仅编辑一个简单的 CSS 文档,外部样式表使你有能力同时改变站点中所有页面的布局和外观。

2.CSS语言特点

1.丰富的样式定义
CSS提供了丰富的文档样式外观,以及设置文本和背景属性的能力。
2.易于使用和修改
CSS可以将样式定义在HTML元素的style属性中,也可以将其定义在HTML文档的header部分,也可以将样式声明在一个专门的CSS文件中,以供HTML页面引用,外部样式表可以极大提高工作效率。
3.层叠
简单的说,层叠就是对一个元素多次设置同一个样式,这将使用最后一次设置的属性值。
3.1层叠次序问题
1.浏览器缺省设置 2.外部样式表 3.内部样式表(位于 标签内部) 4.内联样式(在 HTML 元素内部) 层叠次序优先权依次提高,其中4.内联样式拥有最高优先权。
4.页面压缩
将样式的声明单独放到CSS样式表中,可以大大的减小页面的体积,
CSS样式表的复用更大程度的缩减了页面的体积,减少下载的时间。

3.语言基础——属性和属性值

属性(property)是您希望设置的样式属性(style attribute)。每个属性有一个值。属性和值被冒号分开。

属性

属性的名字是一个合法的标识符,它们是CSS语法中的关键字。一种属性规定了格式修饰的一个方面。例如:color是文本的颜色属性。

属性值

属性值分为整数和实数、长度量、百分数量等

下面的示意图为您展示了上面这段代码的结构:
Alt
如果值为若干单词,则要给值加引号

p {font-family: "sans serif";}

4.CSS选择器

CSS选择器具体分为1.类型(上下文)选择器2.class选择器3.id选择器4.属性选择器,选择器可以用来选择被标记的某一模块,使其可以添加各种样式

4.1类型(上下文)选择器

CSS中的一种选择器是元素类型的名称。使用这种选择器,可以向这种元素类型的每个实例上应用声明
例:你希望列表中的 strong 元素变为斜体字

li strong {
    font-style: italic;            //css代码
    font-weight: normal;
  }
<li><strong>我是斜体字。这是因为 strong 元素位于 li 元素内。</strong></li>
//HTML代码
4.2id选择器

id 选择器可以为标有特定 id 的 HTML 元素指定特定的样式。
例:定义段落文字为红色

#red {color:red;} 					//css代码
<p id="red">这个段落是红色。</p> 				//html代码
4.3class选择器

CLASS属性允许向一组在CLASS属性上具有相同值的元素应用声明。BODY内的所有元素都有CLASS属性,从本质上讲,可以使用CLASS属性来分类元素
例:拥有 center 类的 HTML 元素均为居中。

.center {text-align: center}  		//css代码
<h1 class="center">
This heading will be center-aligned
</h1>                                 //html代码(h1 和 p 元素都有 center 类,这意味着两者都将遵守 ".center" 选择器中的规则)
<p class="center">
This paragraph will also be center-aligned.
</p>
4.4属性选择器

对带有指定属性的 HTML 元素设置样式。
例:带有 title 属性的所有元素设置样式。

[title]{color:red;}                         //css代码
 <h2 title="Hello world">Hello world</h2>            						//html代码
<a title="W3School" href="http://w3school.com.cn">W3School</a>
4.5CSS 中的后代选择器

后代选择器(descendant selector)又称为包含选择器,后代选择器可以选择作为某元素后代的元素。
例:对 h1 元素中的 em 元素应用样式。

h1 em {color:red;}          //css代码

注:有关后代选择器有一个易被忽视的方面,即两个元素之间的层次间隔可以是无限的。
如果写作 ul em,这个语法就会选择从 ul 元素继承的所有 em 元素,而不论 em 的嵌套层次多深

4.6选择器分组(交集选择器)

假设希望 h2 元素和段落都有灰色。为达到这个目的,最容易的做法是使用以下声明

h2, p {color:gray;}          //css代码
4.7子元素选择器

与后代选择器相比,子元素选择器(Child selectors)只能选择作为某元素子元素的元素。
如果您不希望选择任意的后代元素,而是希望缩小范围,只选择某个元素的子元素
例:选择只作为 h1 元素子元素的 strong 元素

h1 > strong {color:red;}  				 //css代码
4.8CSS 相邻兄弟选择器

相邻兄弟选择器(Adjacent sibling selector)可选择紧接在另一元素后的元素,且二者有相同父元素。

h1 + p {margin-top:50px;}          //css代码(选择紧接在 h1 元素后出现的段落,h1 和 p 元素拥有共同的父元素。)
4.9选择器间的权重(优先级)问题
  1. 第一优先级:无条件优先的属性只需要在属性后面使用!important。它会覆盖页面内任何位置定义的元素样式。ie6不支持该属性。
  2. 第二优先级:在html中给元素标签加style,即内联样式。该方法会造成css难以管理,所以不推荐使用。
  3. 第三优先级:由一个或多个id选择器来定义。例如,#id{margin:0;}会覆盖.classname{margin:3pxl}
  4. 第四优先级:由一个或多个类选择器、属性选择器、伪类选择器定义。如.classname{margin:3px}会覆盖div{margin:6px;}
  5. 第五优先级:由一个或多个类型选择器定义。如div{marigin:6px;}覆盖*{margin:10px;}
  6. 第六优先级:通配选择器,如*{marigin:6px;}
    注:如果两个规则的特殊性相同,那么后定义的规则优先。
    我们把特殊性分为4个等级,每一个等级代表一类选择器,每个等级的值相加得出选择器的权重。
    4个等级的定义如下:
    第一等级:代表内联样式,如style="",权值为 1000
    第二等级:代表id选择器,如#content,权值为100
    第三等级:代表类,伪类和属性选择器,如.content,权值为10
    第四等级:代表标签选择器和伪元素选择器,如div p,权值为1
    通用选择器(*),子选择器(>),和相邻同胞选择器(+)并不在这个等级中,所以他们的权值为0

作者:Coder_Chang
来源:优快云
原文:https://blog.youkuaiyun.com/coder_chang/article/details/72777943
版权声明:本文为博主原创文章,转载请附上博文链接!

4.10锚伪类

在支持 CSS 的浏览器中,链接的不同状态都可以不同的方式显示,这些状态包括:活动状态,已被访问状态,未被访问状态,和鼠标悬停状态。

a:link {color: #FF0000}		/* 未访问的链接 */
a:visited {color: #00FF00}	/* 已访问的链接 */
a:hover {color: #FF00FF}	/* 鼠标移动到链接上 */
a:active {color: #0000FF}	/* 选定的链接 */

1.注:在 CSS 定义中,a:hover 必须被置于 a:link 和 a:visited 之后,才是有效的。
2.注:在 CSS 定义中,a:active 必须被置于 a:hover 之后,才是有效的。

内容概要:本文介绍了一个基于多传感器融合的定位系统设计方案,采用GPS、里程计和电子罗盘作为定位传感器,利用扩展卡尔曼滤波(EKF)算法对多源传感器数据进行融合处理,最终输出目标的滤波后位置信息,并提供了完整的Matlab代码实现。该方法有效提升了定位精度与稳定性,尤其适用于存在单一传感器误差或信号丢失的复杂环境,如自动驾驶、移动采用GPS、里程计和电子罗盘作为定位传感器,EKF作为多传感器的融合算法,最终输出目标的滤波位置(Matlab代码实现)机器人导航等领域。文中详细阐述了各传感器的数据建模方式、状态转移与观测方程构建,以及EKF算法的具体实现步骤,具有较强的工程实践价值。; 适合人群:具备一定Matlab编程基础,熟悉传感器原理和滤波算法的高校研究生、科研人员及从事自动驾驶、机器人导航等相关领域的工程技术人员。; 使用场景及目标:①学习和掌握多传感器融合的基本理论与实现方法;②应用于移动机器人、无人车、无人机等系统的高精度定位与导航开发;③作为EKF算法在实际工程中应用的教学案例或项目参考; 阅读建议:建议读者结合Matlab代码逐行理解算法实现过程,重点关注状态预测与观测更新模块的设计逻辑,可尝试引入真实传感器数据或仿真噪声环境以验证算法鲁棒性,并进一步拓展至UKF、PF等更高级滤波算法的研究与对比。
内容概要:文章围绕智能汽车新一代传感器的发展趋势,重点阐述了BEV(鸟瞰图视角)端到端感知融合架构如何成为智能驾驶感知系统的新范式。传统后融合与前融合方案因信息丢失或算力需求过高难以满足高阶智驾需求,而基于Transformer的BEV融合方案通过统一坐标系下的多源传感器特征融合,在保证感知精度的同时兼顾算力可行性,显著提升复杂场景下的鲁棒性与系统可靠性。此外,文章指出BEV模型落地面临大算力依赖与高数据成本的挑战,提出“数据采集-模型训练-算法迭代-数据反哺”的高效数据闭环体系,通过自动化标注与长尾数据反馈实现算法持续进化,降低对人工标注的依赖,提升数据利用效率。典型企业案例进一步验证了该路径的技术可行性与经济价值。; 适合人群:从事汽车电子、智能驾驶感知算法研发的工程师,以及关注自动驾驶技术趋势的产品经理和技术管理者;具备一定自动驾驶基础知识,希望深入了解BEV架构与数据闭环机制的专业人士。; 使用场景及目标:①理解BEV+Transformer为何成为当前感知融合的主流技术路线;②掌握数据闭环在BEV模型迭代中的关键作用及其工程实现逻辑;③为智能驾驶系统架构设计、传感器选型与算法优化提供决策参考; 阅读建议:本文侧重技术趋势分析与系统级思考,建议结合实际项目背景阅读,重点关注BEV融合逻辑与数据闭环构建方法,并可延伸研究相关企业在舱泊一体等场景的应用实践。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值