当前位置: 首页 > article >正文

前端-css

css概述

css:指层叠样式表,多个样式定义可层叠为一个

CSS 规则由两个主要的部分构成:选择器,以及一条或多条声明:

选择器通常是您需要改变样式的 HTML 元素,CSS声明总是以分号 ; 结束,声明总以大括号 {} 括起来

每条声明由一个属性和一个值组成。

属性(property)是您希望设置的样式属性(style attribute)。每个属性有一个值。属性和值被冒号分开。不要在属性值与单位之间留有空格

CSS注释以 /* 开始, 以 */ 结束

某些属性在不同的样式表中被同样的选择器定义,那么属性值将从更具体的样式表中被继承过来

字体大小:em的尺寸单位由W3C建议。1em和当前字体大小相等。在浏览器中默认的文字大小是16px。

选择器

id选择器

id 选择器可以为标有特定 id 的 HTML 元素指定特定的样式。

HTML元素以id属性来设置id选择器,CSS 中 id 选择器以 "#" 来定义。

class选择器

class 选择器用于描述一组元素的样式,class 选择器有别于id选择器,class可以在多个元素中使用。

class 选择器在 HTML 中以 class 属性表示, 在 CSS 中,类选择器以一个点 . 号显示:

属性选择器

1./* 选择所有具有 `type` 属性的元素,选择带有指定属性的所有元素(无论属性值是什么) */
[type] {
 样式
}

2.选择具有指定属性和值完全匹配的元素, 选择所有 `type` 属性等于 `text` 的元素

[type="text"] {
  background-color: yellow;
}

3.选择属性值中包含指定词(用空格分隔的词列表之一)的元素,选择属性值中包含 `button` 的元素

[class~="button"] {
 
}

4.选择具有指定值或者以指定值开头并紧跟着连字符 - 的属性值的元素, 选择所有 `lang` 属性是 `en` 或者以 `en-` 开头的元素

[lang|="en"] {
  color: green;
}

5.选择属性值以指定值开头的元素

[href^="https"] {
  text-decoration: none;
}

6.选择属性值以指定值结尾的元素

[src$=".jpg"] {
  border: 2px solid blue;
}

7.选择属性值中包含指定值的元素,选择所有 `title` 属性中包含 `tutorial` 的元素

[title*="tutorial"] {
  font-style: italic;
}

插入样式表

优先级:(内联样式)Inline style > (内部样式)Internal style sheet >(外部样式)External style sheet > 浏览器默认样式

外联样式表

当样式需要应用于很多页面时,外部样式表将是理想的选择。在使用外部样式表的情况下,你可以通过改变一个文件来改变整个站点的外观。每个页面使用 <link href="css文件"> 标签链接到样式表。 <link> 标签在(文档的)头部

样式表应该以 .css 扩展名进行保存

内联样式表

当单个文档需要特殊的样式时,就应该使用内部样式表。你可以使用 <style> 标签在文档头部定义内部样式表

内联样式

当样式仅需要在一个元素上应用一次时。

要使用内联样式,你需要在相关的标签内使用样式(style)属性。Style 属性可以包含任何 CSS 属性

CSS背景样式

background简写属性,作用是将背景属性设置在一个声明中。
background-attachment背景图像是否固定或者随着页面的其余部分滚动。
background-color设置元素的背景颜色。
background-image把图像设置为背景。
background-position设置背景图像的起始位置。
background-repeat设置背景图像是否及如何重复。

css文本属性

属性描述
color设置文本颜色
direction设置文本方向。
letter-spacing设置字符间距
line-height设置行高
text-align对齐元素中的文本
text-decoration向文本添加修饰
text-indent缩进元素中文本的首行
text-shadow设置文本阴影
text-transform控制元素中的字母
unicode-bidi设置或返回文本是否被重写 
vertical-align设置元素的垂直对齐
white-space设置元素中空白的处理方式
word-spacing设置字间距

css字体

Property描述
font在一个声明中设置所有的字体属性
font-family指定文本的字体系列
font-size指定文本的字体大小
font-style指定文本的字体样式
font-variant以小型大写字体或者正常字体显示文本。
font-weight指定字体的粗细。

css链接

链接的样式,可以用任何CSS属性(如颜色,字体,背景等)。

特别的链接,可以有不同的样式,这取决于他们是什么状态。

  • a:link - 正常,未访问过的链接
  • a:visited - 用户已访问过的链接
  • a:hover - 当用户鼠标放在链接上时
  • a:active - 链接被点击的那一刻

CSS列表

属性描述
list-style简写属性。用于把所有用于列表的属性设置于一个声明中
list-style-image将图像设置为列表项标志。
list-style-position设置列表中列表项标志的位置。
list-style-type设置列表项标志的类型。

CSS盒子模型Box Model

所有HTML元素可以看作盒子,CSS盒模型本质上是一个盒子,封装周围的HTML元素,它包括:边距,边框,填充,和实际内容。

盒模型允许我们在其它元素和周围元素边框之间的空间放置元素。

  • Margin(外边距) - 清除边框外的区域,外边距是透明的。
  • Border(边框) - 围绕在内边距和内容外的边框。
  • Padding(内边距) - 清除内容周围的区域,内边距是透明的。
  • Content(内容) - 盒子的内容,显示文本和图像。

最终元素的总宽度计算公式是这样的:

总元素的宽度=宽度+左填充+右填充+左边框+右边框+左边距+右边距

元素的总高度最终计算公式是这样的:

总元素的高度=高度+顶部填充+底部填充+上边框+下边框+上边距+下边距

css边框样式 

属性描述
border简写属性,用于把针对四个边的属性设置在一个声明。
border-style用于设置元素所有边框的样式,或者单独地为各边设置边框样式。
border-width简写属性,用于为元素的所有边框设置宽度,或者单独地为各边边框设置宽度。
border-color简写属性,设置元素的所有边框中可见部分的颜色,或为 4 个边分别设置颜色。
border-bottom简写属性,用于把下边框的所有属性设置到一个声明中。
border-bottom-color设置元素的下边框的颜色。
border-bottom-style设置元素的下边框的样式。
border-bottom-width设置元素的下边框的宽度。
border-left简写属性,用于把左边框的所有属性设置到一个声明中。
border-left-color设置元素的左边框的颜色。
border-left-style设置元素的左边框的样式。
border-left-width设置元素的左边框的宽度。
border-right简写属性,用于把右边框的所有属性设置到一个声明中。
border-right-color设置元素的右边框的颜色。
border-right-style设置元素的右边框的样式。
border-right-width设置元素的右边框的宽度。
border-top简写属性,用于把上边框的所有属性设置到一个声明中。
border-top-color设置元素的上边框的颜色。
border-top-style设置元素的上边框的样式。
border-top-width设置元素的上边框的宽度。
border-radius设置圆角的边框。

CSS margin(外边距)

CSS margin(外边距)属性定义元素周围的空间。

属性描述
margin简写属性。在一个声明中设置所有外边距属性。
margin-bottom设置元素的下外边距。
margin-left设置元素的左外边距。
margin-right设置元素的右外边距。
margin-top设置元素的上外边距。

CSS padding填充(内边距)

padding使用简写属性设置在一个声明中的所有填充属性
padding-bottom设置元素的底部填充
padding-left设置元素的左部填充
padding-right设置元素的右部填充
padding-top设置元素的顶部填充

css的尺寸

属性描述
height设置元素的高度。
line-height设置行高。
max-height设置元素的最大高度。
max-width设置元素的最大宽度。
min-height设置元素的最小高度。
min-width设置元素的最小宽度。
width设置元素的宽度。

css display显示

display属性设置一个元素应如何显示,visibility属性指定一个元素应可见还是隐藏。

visibility:hidden可以隐藏某个元素,但隐藏的元素仍需占用与未隐藏之前一样的空间。也就是说,该元素虽然被隐藏了,但仍然会影响布局。

display:none可以隐藏某个元素,且隐藏的元素不会占用任何空间。也就是说,该元素不但被隐藏了,而且该元素原本占用的空间也会从页面布局中消失。

css position定位

属性值:

static:HTML 元素的默认值,即没有定位,遵循正常的文档流对象。

fixed:元素的位置相对于浏览器窗口是固定位置,即使窗口是滚动的它也不会移动

relative:相对定位元素的定位是相对其正常位置。

absolute:绝对定位的元素的位置相对于最近的已定位父元素,如果元素没有已定位的父元素,那么它的位置相对于<html>

css overflow布局

overflow 属性可以控制内容溢出元素框时在对应的元素区间内添加滚动条。

overflow 属性只工作于指定高度的块元素上

描述
visible默认值。内容不会被修剪,会呈现在元素框之外。
hidden内容会被修剪,并且其余内容是不可见的。
scroll内容会被修剪,但是浏览器会显示滚动条以便查看其余的内容。
auto如果内容被修剪,则浏览器会显示滚动条以便查看其余的内容。
inherit

规定应该从父元素继承 overflow 属性的值。

css float浮动

会使元素向左或向右移动,其周围的元素也会重新排列,一般做用于图片

属性描述
clear指定不允许元素周围有浮动元素。left
right
both
none
inherit
float指定一个盒子(元素)是否可以浮动。left
right
none
inherit

水平/垂直对齐

margin: auto要水平居中对齐一个元素

 text-align: center文本在元素内居中对齐

css组合选择符

  • 后代选择器(以空格     分隔) 后代选择器用于选取某元素的后代元素。
  • 子元素选择器(以大于 > 号分隔) ,子元素选择器(Child selectors)只能选择作为某元素直接/一级子元素的元素
  • 相邻兄弟选择器(以加号 + 分隔)选择紧接在另一元素后的元素,且二者有相同父元素
  • 普通兄弟选择器(以波浪号 ~ 分隔)选取所有指定元素之后的相邻兄弟元素

@media 规则

允许在相同样式表为不同媒体设置不同的样式

媒体类型描述
all用于所有的媒体设备。
aural用于语音和音频合成器。
braille用于盲人用点字法触觉回馈设备。
embossed用于分页的盲人用点字法打印机。
handheld用于小的手持的设备。
print用于打印机。
projection用于方案展示,比如幻灯片。
screen用于电脑显示器。
tty用于使用固定密度字母栅格的媒体,比如电传打字机和终端。
tv用于电视机类型的设备。

css计数器

通过一个变量来设置,根据规则递增变量
属性描述
content使用 ::before 和 ::after 伪元素来插入自动生成的内容
counter-increment递增一个或多个值
counter-reset创建或重置一个或多个计数器

 !important

!important 与优先级无关,但它与最终的结果直接相关,使用一个 !important 规则时,此声明将覆盖任何其他声明

  • 一定要优先考虑使用样式规则的优先级来解决问题而不是 !important
  • 只有在需要覆盖全站或外部 CSS 的特定页面中使用 !important
  • 永远不要在你的插件中使用 !important
  • 永远不要在全站范围的 CSS 代码中使用 !important

http://www.kler.cn/a/570506.html

相关文章:

  • 物联网中水位计顶级功能有哪些
  • Muduo + OpenSSL 网络交互完整流程
  • 如何在MacOS 10.15上安装Docker Desktop
  • 数据结构(三)链表
  • 使用 CodeMirror 6 和 React 构建一个支持只读模式的 JSON 编辑器
  • 基于QSSH开源库实现SSH远程连接和SFTP文件传输
  • DeepSeek集成到VScode工具,让编程更高效
  • 玩转python: 几个案例-掌握贪心算法
  • 基于AT89C52单片机的停车场车位管理系统
  • VsCode + EIDE + OpenOCD + STM32(野火DAP) 开发环境配置
  • doris:阿里云 DLF
  • PyTorch 中使用多进程实现增量训练
  • 使用cursor ai 开发 UniApp JSON 工具开发文档
  • 第十四届蓝桥杯:(二分算法)字串简写
  • 【MySQL】CAST()在MySQL中的用法以及其他常用的数据类型转换函数
  • 【部署】Docker Compose 指令备忘清单(超级详细!)
  • docker拉取乌班图并且ssh连接
  • C++小课堂——变量的声明,赋值和初始化
  • Redis是什么?如何使用Redis进行缓存操作?
  • Powershell和BTEQ工具实现带多组参数和标签的Teradata数据库批量数据导出程序