前端速通(CSS)

1.CSS介绍

1.什么是CSS?

CSS(Cascading Style Sheets,层叠样式表)是一种用于控制网页的外观和布局的样式表语言。它与HTML(超文本标记语言)紧密配合,负责页面元素的样式定义,如字体、颜色、尺寸、排版和布局等。

总之,HTML负责网页的结构和内容,而CSS则负责网页的视觉展示,使网页更加美观和易于使用。

CSS的基本功能:
  1. 定义样式:CSS通过定义样式规则,控制网页上各个HTML元素的外观。样式规则可以包括颜色、字体、边距、相似、背景、位置、大小等属性。

  2. 布局管理:CSS可以控制元素在页面上的位置和布局,包括使用传统的盒模型(box model)、弹性布局(flexbox)和网格布局(grid)等技术。

  3. 响应式设计:通过CSS媒体查询(媒体查询),可以根据不同设备的屏幕大小、分辨率等条件,调整网页布局和样式,以实现适应各种设备(如手机、平板、桌面)的响应式设计。

  4. 视觉效果:CSS支持多种动画效果和过渡效果,可以为网页元素添加动态效果,提高用户体验。

CSS的核心概念:
  • 选择器:用于选择要应用样式的HTML元素。常见的选择器有标签选择器(如h1p)、类选择器(如.class-name)和ID选择器(如#id-name)。

  • 属性和属性值:CSS规则由属性和属性值组成。属性指定要应用的样式效果,而属性值则定义具体的样式(如颜色、大小等)。例如,color: red;就是一个CSS属性值对,表示文本颜色为红色。

  • 继承规则:当多个样式规则作用于同一个元素时,CSS会根据一定的优先级规则(优先顺序)来决定最终的样式。优先级规则通常由选择器的具体性(speciality)和声明的来源(如内部联样式、外部样式表等)来决定。

为什么要使用CSS?
  • 分离结构和样式:利用CSS将网页的内容(HTML)和样式(CSS)分离,使得网页的结构更清晰、维护更方便。
  • 提高页面加载速度:CSS文件通常是外部链接的,通过缓存技术,减少每次页面加载速度重复下载样式,提升页面加载。
  • 增强可维护性和可复用性:通过集中管理样式,简化代码,使得样式的维护更加方便,多个页面可以共享同一个CSS文件,达到代码复用的效果。

2.CSS基本语法规范

1. CSS规则架构

CSS的核心构成是选择器声明,一个CSS规则由这几个部分组成:

  • 选择器selector):指定要应用样式的HTML元素。
  • 声明declaration):指定该元素的样式。每个声明由一个属性和一个属性值组成。

注意:

• CSS要写到style标签中(后⾯还会介绍其他写法)

• style标签可以放到⻚⾯任意位置.⼀般放到head标签内.

• CSS使⽤/**/作为注释.(使⽤ctrl+/快速切换).

•CSS中,空格和换行字符的使用不会影响规则的解析,但为了提高代码的可执行性,通常会使用适当的缩进和换行。

2 引⼊⽅式

CSS有3种引⼊⽅式,语法如下表格所⽰:

3种引⼊⽅式对⽐:

1. 行内样式(Inline CSS)

内联样式等于CSS规则直接写在HTML元素的style属性中。这种方式的优先级最高,但不推荐大规模项目,因为它使得HTML和CSS代码混杂,不易维护。

2. 内部样式表(Internal CSS)

内部修改样式表只需将CSS规则写在HTML文档的<style>标签中,通常放在<head>部分。这种方式适用于单个HTML页面,需要多个元素样式时比较方便。

3.外部样式表(External CSS)

外部样式表将CSS代码写在单独的.css文件中,并通过<link>标签将其引入到HTML文件中。外部样式表是最常用的方式,特别是当你需要多个HTML页面共享同一个样式时。一种具有良好的可维护性的方式,可以由团队协作开发。

3.CSS样式书写规范

1.缩进与格式

  • 使用空格符号制表符(Tab)进行缩进。通常建议使用两个空格进行缩进。
  • 每个声明块的开头和结尾都要使用大逗号{}
  • 声明和属性值之间用冒号:分隔,属性值后面空白。
  • 每条声明以分号;结束,即使是最后一条声明。

2.命名约定

  • 选择器命名:采用有意义且描述性的名称,避免使用过少或模糊的类名或ID名。
    • 类名通常使用小写字母,多个单词之间使用连字符-分隔(如.button-primary)。
    • ID名通常也使用小写字母,但由于ID的唯一性,适当的简短命名也可以接受的(如#header#footer)。
    • 避免使用过多的警告类别,保持选择器的疑虑很简单。

3.声明顺序

  • 布局相关的属性放在一起,通常先设置displaypositiontopleftwidthheight等布局属性。
  • 窗体的相关属性放在一起,如colorbackgroundborderfonttext等。
  • 其他的辅助属性,如transitionbox-shadowopacity等放在最后。

4.避免使用!important

尽量避免使用!important,它会打破CSS的覆盖规则,降低代码的可性。只有在极特殊的情况下,才可以使用维护!important来覆盖特定样式。


5.使用空格和换行

  • 在大逗号{}内部使用空格来增加区别性,避免写成一行。
  • 在规则之间使用换行,使每个选择器/规则块之间有适当的间隔。

6..代码

  • 避免不必要的选择器和样式,避免重复定义相同的样式。
  • 如果多个元素的样式相同,使用组合选择器来简化代码。

4 CSS选择器

CSS选择器的主要功能就是选中⻚⾯指定的标签元素.选中了元素,才可以设置元素的属性

. 就好⽐SC2,War3这样的游戏,需要先选中单位,再指挥该单位⾏动.

CSS选择器主要分以下⼏种:

1. 标签选择器

2. class选择器

3. id选择器

4. 复合选择器

5. 通配符选择器

1.元素选择器(标签选择器)

首表:

元素选择器直接通过HTML标签名称来选择元素。

这个规则将所有<p>元素的文本颜色设置为绿色。

2.类选择器(Class Selector)

类选择器通过HTML选择元素的class属性来选择元素,类选择器以.开始。

• ⼀个类可以被多个标签使⽤,⼀个标签也能使⽤多个类(多个类名要使⽤空格分割,这种做法可以让 代码更好复⽤)

3. ID选择器(ID Selector)

ID选择器通过HTML元素的id属性来选择元素,ID选择器以#开始。每个页面的ID应该是唯一的。


• id是唯⼀的,不能被多个标签使⽤(是和类选择器最⼤的区别)

4.后代选择器(Descendant Selector)

子代选择器通过空格来选中一个元素内部的所有子元素(不管深度)。

所有在<div>元素内部的<p>元素都会变成红色。

1. 以上三个标签选择器ul li a 中的任意,都可以替换成类选择器,或者id选择器,可以是任意选 择器的组合,也可以是任意数量选择器的组合

2. 不⼀定是相邻的标签,也可以是"孙⼦"标签

3. 如果需要选择多种标签,可以使⽤ , 分割,如p, div { } 表⽰同时选中p标签和div标签. 逗号前后可以是以上任意选择器,也可以是选择器的组合.

5.通配符选择器(Universal Selector)

通配符选择器*选择页面上的所有元素。

3 常用的CSS样式介绍

1.颜色和背景:colorbackground-color

color用于设置文本的颜色的属性

background-color属性用于设置元素的背景颜色,常见于设置网页或特定元素的背景颜色。

常见单位:

  • 颜色名称:如redbluegreenblack等。
  • 十六(HEX):如#FF5733#000000(表示黑色)。
  • RGB:如rgb(255, 0, 0),表示红色。
  • RGBA:如rgba(255, 0, 0, 0.5),红色,且间隙为50%。
  • HSL:如hsl(0, 100%, 50%),表示红色。
  • HSLA:如hsla(0, 100%, 50%, 0.5),红色,且间隙为50%。

2 字体大小(font-size

font-size属性用于设置文本的大小。可以使用多种单位来表示字体大小。

常见单位:
  • px(像素):绝对单位
  • em:相对于父元素的字体大小
  • rem:相对于根元素的字体大小
  • %:相对于父元素的字体大小
  • vwvh:相对于视窗宽度和高度的百分比

3.边框(border)

border是一个简写属性,用于设置元素的所有已知(上、右、下、左)的宽度样式颜色

边框 ( border-width)

border-width用于设置身高的宽度,通常使用以下单位:

  • px:像素(常见的单位)
  • em:相对于元素字体的宽度
  • rem:相对于根元素的字体宽度
2.边框样式 ( border-style)

border-style用于定义未知的样式。常见的未知样式包括:

  • solid:实线边框
  • dashed:虚线边框
  • dotted:点状线边框
  • double:双线边框
  • none:没有边框
  • hidden:隐藏未知(仅用于表格元素)

4.宽度和高度(widthheight

width属性定义了元素的宽度,它可以概括所有可见元素(如divimgbutton等)

height属性定义了元素的高度。分子widthheight也可以使用像素、粒子、视口单位等单位来设置。

5. 内边距(padding)

padding常见的单位解释如下:

  • px:像素单位,用于精确控制内边距的大小。
  • %:百分比,通常相对于元素的宽度计算内边距的大小。例如,padding: 10%令内边距占元素宽度的10%。
  • em:相对于元素的字体大小。例如,如果字体大小是16px,则1em等于16px。
  • rem:相对于根元素(通常是<html>标签)的字体大小。
2.padding的简写和下一步设置
初始值:

当只设置一个值时,表示四个方向的内边距都相同:

div { padding: 20px; /* 四个方向的内边距都是 20px */ }
两个值:

当设置两个值时,第一个值表示垂直方向(上和下)的内边距,第二个值表示水平方向(左和右)的内边距:

div { padding: 10px 20px; /* 上下内边距为 10px,左右内边距为 20px */ }
三个值:

当设置三个值时,第一个值表示上边的内边距,第二个值表示左右方向的第三个内边距,第一个值表示下边的内边距:

div { padding: 10px 20px 30px; /* 上 10px,左右 20px,下 30px */ }
四个值:

当设置四个值时,分别表示上、右、下、左四个方向的内边距:

div { padding: 10px 20px 30px 40px; /* 上 10px,右 20px,下 30px,左 40px */ }
3.设置每个方向的内边距

你也可以单独为每个边设置内边距,使用padding-toppadding-rightpadding-bottompadding-left来分别指定方向的内边距:

div {
    padding-top: 10px;
    padding-right: 20px;
    padding-bottom: 30px;
    padding-left: 40px;
}

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

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

相关文章

webkit浏览器内核编译(2024年11月份版本)

webkit浏览器内核编译 本文详细介绍了如何安装和配置Webkit的编译环境和工具的安装&#xff0c;以及在Windows上编译和运行WebKit浏览器引擎的过程&#xff0c;包括安装依赖、设置环境变量、生成解决方案并最终运行附带的MiniBrowser示例。 一、WebKit简介 WebKit 是一个开源的…

C++趣味编程玩转物联网:用树莓派Pico实现一位数码管动态显示

七段数码管是一种经典的电子显示器件&#xff0c;广泛应用于数字时钟、电子仪表等设备。本文将通过树莓派Pico开发板&#xff0c;介绍如何用C代码控制一位七段数码管显示数字。作为一个嵌入式开发项目&#xff0c;这不仅是初学者理解数码管工作原理的好机会&#xff0c;也是C开…

非交换几何与黎曼ζ函数:数学中的一场革命性对话

非交换几何与黎曼ζ函数&#xff1a;数学中的一场革命性对话 非交换几何&#xff08;Noncommutative Geometry, NCG&#xff09;是数学的一个分支领域&#xff0c;它将经典的几何概念扩展到非交换代数的框架中。非交换代数是一种结合代数&#xff0c;其中乘积不是交换性的&…

【CSP CCF记录】201803-1第13次认证 跳一跳

题目 样例输入 1 1 2 2 2 1 1 2 2 0 样例输出 22 思路 没有技术含量的一道题&#xff0c;解题的关键是理解游戏规则。用state标记跳跃状态&#xff0c;以下是对游戏规则的分析&#xff1a; 1. state1&#xff0c;跳到方块上但没跳到中心&#xff0c;得1分 2. state2&#xf…

ALSA(2) ---- DMA实践

DMA实践 本篇文章主要是学习alsa高级音频框架总结而来&#xff0c;ALSA的Platform侧ADMA&#xff0c;学习总结而来&#xff0c;adma驱动来源于telechips产商805x芯片&#xff1b; ADMA物理拓扑图 ADMA物理拓扑图如上&#xff0c;RX和TX ADMA是接收和发送控制器&#xff0c;Ar…

【机器学习】——卷积与循环的交响曲:神经网络模型在现代科技中的协奏

&#x1f3bc;个人主页&#xff1a;【Y小夜】 &#x1f60e;作者简介&#xff1a;一位双非学校的大二学生&#xff0c;编程爱好者&#xff0c; 专注于基础和实战分享&#xff0c;欢迎私信咨询&#xff01; &#x1f386;入门专栏&#xff1a;&#x1f387;【MySQL&#xff0…

lua除法bug

故事背景&#xff0c;新来了一个数值&#xff0c;要改公式。神奇的一幕出现了&#xff0c;公式算出一个非常大的数。排查是lua有一个除法bug,1除以大数得到一个非常大的数。 function div(a, b)return tonumber(string.format("%.2f", a/b)) end print(1/73003) pri…

代码管理之Gitlab

文章目录 Git基础概述场景本地修改未提交&#xff0c;拉取远程代码修改提交本地&#xff0c;远程已有新提交 GitIDEA引入Git拉取仓库代码最后位置 Git基础 概述 workspace 工作区&#xff1a;本地电脑上看到的目录&#xff1b; repository 本地仓库&#xff1a;就是工作区中隐…

嵌入式系统应用-LVGL的应用-智能时钟 part 3

智能时钟 part 3 6 光强传感器6.1 光敏电阻介绍6.2 电路图介绍 7 ADC模块7.1 ADC模块介绍7.2 adc 转化流程7.3 规则通道和注入通道7.4 DMA 搬运7.5 TIM触发ADC和DMA搬运数据的原理 8 代码8.1 配置头文件8.2 初始化ADC 和DMA8.3 创建线程读取 值8.4 演示效果 由于丢失温湿度传感…

跨平台应用开发框架(1)----Qt(组件篇)

目录 1.Qt 1.Qt 的主要特点 2.Qt的使用场景 3.Qt的版本 2.QtSDK 1.Qt SDK 的组成部分 2.安装 Qt SDK 3.Qt SDK 的优势 3.Qt初识 1.快速上手 widget.cpp mian.cpp widget.h Helloworld.pro 2.对象树 3.坐标系 4.信号和槽 1. 信号和槽的基本概念 2. 信号和槽的…

架构-微服务-服务治理

文章目录 前言一、服务治理介绍1. 什么是服务治理2. 常见的注册中心 二、nacos简介三、nacos实战入门1. 搭建nacos环境2. 将商品微服务注册到nacos3. 将订单微服务注册到nacos 四、实现服务调用的负载均衡1. 什么是负载均衡2. 自定义实现负载均衡3. 基于Ribbon实现负载均衡 五、…

AWS的流日志

文章目录 一、aws如何观察vpc的日志&#xff1f;二、aws观测其vpc的入口日志三、 具体配置3.1、配置你的存储神器 S33.2、建立子网的流日志 一、aws如何观察vpc的日志&#xff1f; 排查问题的时候除了去抓包看具体的端口信息的时候&#xff0c;还可以根据其所在的vpc的子网信息…

万物皆可Docker,在NAS上一键部署最新苹果MacOS 15系统

万物皆可Docker&#xff0c;在NAS上一键部署最新苹果MacOS 15系统 哈喽小伙伴们还&#xff0c;我是Stark-C~ 最近苹果Mac mini 2024款在政府补贴的加持下&#xff0c;仅需3500块钱左右就能到手确实挺香的。我看很多评论区的小伙伴跃跃欲试&#xff0c;但是也有不少之前从未体…

函数模板(进阶)

机甲为婚纱&#xff0c;银河为殿堂&#xff0c;爆炸为礼炮&#xff0c;见证了只属于他们的婚礼&#xff0c;樱花树下&#xff0c;再续前缘&#xff0c;鹤望兰无凋零之时&#xff0c;比翼鸟永世长存。 我们这一篇博客紧接我们前面的函数模板&#xff08;初阶&#xff09;这一篇博…

全面解析:HTML页面的加载全过程(五)--浏览器渲染之布局Layout

理解一些概念&#xff1a; 盒子模型 页面中的所有元素都被看作一个矩形盒子 内边距&#xff08;padding)是内容区周围的空间。 边框(border)会在内边距外侧增加一条框线&#xff0c;这条框线可以是实线、虚线或点划线。 外边距(margin)&#xff0c;外边距是围绕在盒子可见…

AI 驱动的个性化推荐系统设计

文章目录 摘要引言推荐系统的核心原理推荐系统的类型个性化推荐中的挑战 基于协同过滤的推荐系统设计设计流程系统架构设计 示例代码模块1&#xff1a;数据准备模块2&#xff1a;相似度计算模块3&#xff1a;推荐生成模块4&#xff1a;整体调用与展示 QA 环节总结参考资料 摘要…

基于springboot + vue-element-plus-admin开发的MES系统源码,制造执法系统MES源码;支持app,小程序,H5,后台

MES系统&#xff08;Manufacturing Execution System&#xff0c;制造执行系统&#xff09;的生产计划管理功能是其核心功能之一&#xff0c;旨在将企业的生产计划转化为实际的生产操作&#xff0c;并通过实时监控和调整来确保生产活动的顺利进行。 MES系统技术栈&#xff1a;…

Java后端如何进行文件上传和下载 —— 本地版

简介&#xff1a; 本文详细介绍了在Java后端进行文件上传和下载的实现方法&#xff0c;包括文件上传保存到本地的完整流程、文件下载的代码实现&#xff0c;以及如何处理文件预览、下载大小限制和运行失败的问题&#xff0c;并提供了完整的代码示例。 大体思路 1、文件上传 …

深入理解结构化学习:从结构化感知器到条件随机场

摘要 结构化学习是一类能够处理复杂输出空间问题的机器学习方法&#xff0c;被广泛应用于自然语言处理、图像分析等领域。本文将从三个经典模型——结构化感知器、隐马尔可夫模型 (HMM) 和条件随机场 (CRF) 入手&#xff0c;详细解析其理论基础、算法实现及应用案例&#xff0c…

C#基础题总结

16.一张单据上有一个5位数的号码为6**42&#xff0c;其中百位数和千位数已模糊不清&#xff0c;但知道该数能被 57 和 67 除尽。设计一个算法&#xff0c;找出该单据所有可能的号码。 17.编程序求2&#xff5e;10000以内的完全数。一个数的因子&#xff08;除了这个数本身&…