前端学习系列之CSS

目录

CSS

简介

发展史

优势

基本语法

引用方式

内部样式

行内样式

外部样式

选择器

id选择器

class选择器

标签选择器

子代选择器

后代选择器

相邻兄弟选择器

后续兄弟选择器

交集选择器

并集选择器

通配符选择器

伪类选择器

属性选择器

CSS基本属性

优点

字体属性

文本属性

背景属性

边框属性

列表属性

鼠标属性

盒子

概念

格式

边框

外边距

圆角边框

阴影

浮动

标准文档流

display

float

overflow

定位

相对定位

绝对定位

z-index


CSS

简介

        css:层叠样式表,是种格式化网页的标准方式,用于控制设置网页的样式,并且允许css样式信息与网页内容分离的一种技术

发展史

优势

1.格式和结构分离:有利于格式的重用以及网页的修改与维护

2.精确控制页面布局:对网页实现更加精确地控制,如网页的布局、字体、颜色、背景等,样式丰富

3.网页结构表现统一,可以实现复用,实现多个网页同事更新

基本语法

格式:

h1{

        color:blue;

}

CSS的定义是由三部分组成的,包括选择符、属性、属性值

选择符:要修饰的对象

属性:修饰对象的哪一个属性(样式)

属性值:样式的取值

引用方式

css共有三种引用方式:内部样式、行内样式、外部样式;

优先级:采取就近原则:行内样式>内部样式>外部样式

内部样式

也称为内嵌样式,在页面头部通过style标签定义。对当前页面中所有符合样式选择器的标签都起作用

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8">
    <title>导入方式</title>

    <!-- 内部样式 -->
    <style>
      h1 {
        color: black;
      }
    </style>

  </head>
  <body>
    <h1>标签</h1>
  </body>
</html>

行内样式

也称为嵌入样式,使用HTML标签的style属性定义。只对设置style属性的标签起作用。

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8">
    <title>导入方式</title>
  </head>
  <body>
    <!-- 行内样式:在标签元素中,编写一个style属性,编写样式即可 -->
    <h1 style="color: aqua">标签</h1>
  </body>
</html>

外部样式

使用单独的 .css文件定义,然后在页面中使用 link标签 或 @import指令 引入

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8">
    <title>导入方式</title>

    <!-- 外部样式 -->
    <link rel="stylesheet" href="css/style.css">

    <!-- 导入式 -->
    <style>
      @import url("css/style.css");
    <style>

  </head>
  <body>
    <h1>标签</h1>
  </body>
</html>

选择器

作用:选择页面上的某一个或某一类元素

id选择器

        id 选择器可以为标有特定 id 的 HTML 元素指定特定的样式,一般来说,一个页面中标签的id的名称,必须唯一且不能重复。

<p id="part">段落</p>

#part{

        color: red;

}

class选择器

class 选择器可以为标有特定 class 的 HTML 元素指定特定的样式,一般来说,一个页面中标签的class的名称,可以不唯一且可以重复。

<p class="part">段落1</p>

<p class="part">段落2</p>

.part{

        color: red;

}

标签选择器

除了使用id选择器和class选择器,我们也可以直接使用标签选择器。

<p>段落</p>

<p>段落</p>

p{

        color: red;

}

子代选择器

子代选择器可以选择当前元素的所有子元素。定义的时候用 “> ”隔开。

<div>

        <p>段落</p>

</div>

div>p{

        color: red;

}

后代选择器

        标签元素除了并列书写还可以嵌套书写,后代选择器就是用于选择嵌套标签元素的一种选择器。定义的时候用“空格 ”隔开。

<p class="part">

        <a href=""></a>

</p>

.part a{

        color: red;

}

相邻兄弟选择器

相邻兄弟选择器可选择紧接在另一元素后的元素,且二者有相同父元素。定义的时候用 “+ ”隔开。

<div>

        <p></p>

</div>

<p></p>

div + p{

        color: red;

}

后续兄弟选择器

后续兄弟选择器选取所有指定元素之后的相邻兄弟元素。定义的时候用“~ ”隔开。

<div>

        <p></p>

</div>

<p></p>

div ~ p{

        color: red;

}

交集选择器

选择的元素必须同时满足多个条件才可以被选择,交集选择器就是干这个的。定义的时候用标签名.ID名/类名 。

<p class="part"></p>

<h1 class="part"></h1>

p .part{

        color: red;

}

并集选择器

多种元素共享某种属性,这时候就可以使用并集选择器。定义的时候用“逗号”隔开。

<p></p>

<h1></h1>

<a class="like"></a>

p h1 .like{

        color: red;

}

通配符选择器

通配符选择器可以匹配任何标签,我们常用于统一页面样式。

<p></p>

<h1></h1>

<a class="like"></a>

*{

        color: red;

}

伪类选择器

根据不同的状态显示不同的样式,一般多用于标签。

有四种状态:

        :link 未访问的链接

        :visited 已访问的链接

        :hover 鼠标悬浮到连接上,即移动在连接上

        :active 选定的链接,被激活

注:默认超链接为:蓝色、下划线

属性选择器

属性选择器可以根据元素的属性及属性值来选择元素。

<input type="text" value="文本框" />

<input type="button" value="按钮" />

input[type="text"]{

        width: 150px;

}

input[type="button"]{

        width: 150px;

}

CSS基本属性

优点

1.有效的传递页面信息

2.美化网页

3.凸显页面的主题

4.提高用户体验

格式:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    
    <style>
        .title1{
            font-size: 50px;
            background: aquamarine;
        }
    </style>

</head>
<body>

学习的<span class="title1">人最帅</span>

</body>
</html>

字体属性

css字体属性指的是设置字体相关的样式。

字体属性及说明
属性说明
font简写属性,把所有针对字体的属性设置在一个声明中
font-size设置字体的尺寸
font-style设置字体的风格;Normal:正常、italic:斜体、oblique:倾斜
font-weight设置字体的粗细;Normal:正常、lighter:细体、bold:粗体、bolder:特粗体
font-family设置字体;指定多种字体时用逗号分开

文本属性

文本属性包括阴影效果、大小写、文本缩进、对齐方式等等。

文本属性及说明
属性说明
color设置文本颜色
direction设置文本方向
letter-spacing设置字符间距
line-height设置行高
text-align设置文本内容的对其方式
text-decoration向文本添加修饰
text-overflow设置对象内溢出的文本处理方式
text-indent设置首行文本的缩进
text-transform控制文本转换
text-shadow设置文本阴影
unicode-bidi设置文本方向
word-spacing设置字间距
white-space设置元素中空白的处理方式

背景属性

CSS背景属性主要用于设置对象的背景颜色、背景图片、背景图片的重复性、背景图片的位置等。

常见的背景属性及说明
属性说明
background简写属性
background-attachment设置背景图像是否固定或者随着页面其余部分滚动
background-color设置元素的背景颜色
background-image将图像设置为背景
background-position设置背景图像的起始位置
background-repeat设置背景图像是否重复

background-clip属性规定背景的绘制区域,该属性是CSS3的属性,主要用于设置背景图像的裁剪区域,其基本语法格式是:

background-clip : border-box|padding-box|content-box;

边框属性

CSS边框属性可以设置对象边框的颜色、样式以及宽度。使用对象的边框属性时必须先设定对象的高度及宽度。语法格式如下:

border:边框宽度 边框样式 边框颜色

边框样式的取值及说明
边框样式说明边框样式说明
none无边框ridge菱型边框
double双线边框dashed虚线边框
hidden隐藏边框solide实线边框
groove3D凹槽边框inset3D内嵌边框
dotted点线边框outset3D凸边框

注意:border-width属性可以单独设置边框宽度;border-style属性可以单独设边框样式;border-color属性可以单独设置边框颜色。

列表属性

常用的列表属性是list-style-type 、list-style-image、 list-style-position以及list-style。

属性含义说明
list-style-type设置列表前的标记
list-style-image将图像作为列表前的标记
list-style-position设置标记的位置取值:outside(默认)、inside
list-style简写

list-style-type属性用于设置列表项标记的类型,主要有disp (实心圆)、circle (空心圆)、square (实心方块)、none (不使用项目符号) 。

list-styl-image属性用于设置使用什么图像作为列表符号。

list-style-position属t用来指定列表符号的显示位置,当值为outside时, 表示将列表符号放在文本块之外,该值为默认值,当值为inside时,表示将列表符号放在文本块之内。

鼠标属性

CSS中可以通过鼠标指针的cursor属性设置鼠标指针的显示图形,语法格式如下:

cursor:鼠标指针样式

cursor属性取值说明
crosshair十字准线s-resize向下改变大小
pointer | hand手型e-resize向右改变大小
waitw-resize向左改变大小
help问号ne-resize向上右改变大小
no-drop无法释放nw-resize向上左改变大小
text文字或编辑se-resize向下右改变大小
move移动sw-resize向下左改变大小
n-resize向上改变大小

盒子

概念

CSS盒子模型是一种在网页设计中用于描述元素布局的概念模型。在CSS中,每个元素都被视为一个矩形盒子,这个盒子包含了该元素的内容、内边距(padding)、边框(border)和外边距(margin)。

  1. 内容(content):这是盒子里装的东西,可以是文本、图像或者其他元素。内容的尺寸可以通过height和width属性来控制。
  2. 内边距(padding):这是内容与边框之间的空间。内边距的大小可以通过padding属性来控制。
  3. 边框(border):这是围绕内容和内边距的一条线。边框的样式、宽度和颜色可以通过border属性来控制。
  4. 外边距(margin):这是盒子与其他元素之间的空间。外边距的大小可以通过margin属性来控制。

在CSS中,可以通过设置元素的width和height属性来控制盒子的尺寸。但是需要注意的是,增加内边距和边框的宽度会增加盒子的尺寸,但不会影响内容区域的尺寸。而增加外边距则会增加盒子与其他元素之间的距离,但不会影响盒子的尺寸。

格式

<div></div>

边框

格式:

border:粗细 样式 颜色

外边距

margin-left/right/top/bottom–>表示四边,可分别设置,也可以同时设置如下

margin:0 0 0 0/*分别表示上、右、下、左;从上开始顺时针*/
/*例1:居中*/
margin:0 auto /*auto表示左右自动*/
/*例2:*/
margin:4px/*表示上、右、下、左都为4px*/
/*例3*/
margin:10px 20px 30px/*表示上为10px,左右为20px,下为30px*/

盒子的计算方式:
margin+border+padding+内容的大小

总结:
body总有一个默认的外边距 margin:0
常见操作:初始化

圆角边框

使用:border-radius

<style>
        div{
            width: 100px;
            height: 100px;
            border: 10px solid red;
            /*一个border-radius只管一个圆的1/4*/
            border-radius: 50px 20px 20px 30px;/*左上 右上 右下 左下 ,顺时针方向*/
        }
</style>

阴影

box-shadow: 10px 10px 1px black;

浮动

标准文档流

块级元素:独占一行 h1~h6 、p、div、 列表…
行内元素:不独占一行 span、a、img、strong

注: 行内元素可以包含在块级元素中,反之则不可以

display

display属性定义了一个元素应如何在页面上显示

常用值:

  1. block:将元素显示为块级元素。块级元素会在其前后创建新行,并且占据整个容器的宽度。例如,<div>、<p>、<h1>等元素的默认display属性值为block。
  2. inline:将元素显示为内联元素。内联元素不会创建新行,而是在当前行内显示。例如,<span>、<a>等元素的默认display属性值为inline。
  3. none:将元素隐藏,不显示。
  4. inline-block:将元素显示为内联块级元素。内联块级元素可以在当前行内显示,并且可以设置宽度和高度。
  5. flex:将元素显示为弹性盒模型。弹性盒模型是一种用于创建复杂的布局和对齐元素的CSS技术。
  6. grid:将元素显示为网格容器。网格容器是一种用于创建二维布局的CSS技术。

这也是一种实现行内元素排列的方式,但是我们很多情况用float

float

在CSS中,float属性用于将元素放置在其容器的左侧或右侧,使文本和内联元素环绕它。这个属性常用于文字环绕图片等场景。

float属性有三个值:

  1. left:将元素向左浮动。
  2. right:将元素向右浮动。
  3. none:默认值,元素不浮动,会停在原处

注意:

        1.浮动元素会脱离正常的文档流,不会影响到其它元素的布局。

        2.浮动元素之后的元素会环绕浮动元素。

        3.如果容器内只有浮动元素,那么容器将不会显示,因为浮动元素会脱离文档流。

overflow

overflow属性用于指定当内容溢出元素框时该如何处理。

属性有三个值:

  1. visible:默认值,内容会溢出元素框,并在页面中显示出来。
  2. hidden:内容不会溢出元素框,溢出的内容会被裁剪,并且其余内容是不可见的。
  3. auto:浏览器会自动判断是否需要裁剪内容,如果需要,则裁剪内容并显示滚动条。

格式:

div { overflow: hidden; }

使用overflow属性可以控制页面元素的显示效果,从而实现各种不同的布局效果。

定位

相对定位

        相对定位是一种布局策略,它相对于元素在正常文档流中的位置进行定位。使用相对定位属性可以让元素相对于其原始位置进行平移、旋转等操作,而不会影响到其他元素的布局

格式:

//一个元素向右平移100像素

div {

        position: relative;

        left: 100px;

}

如:

top:-20px;/*向上偏移20px*/
left:20px;/*向右偏移20px*/
bottom:10px;/*向上偏移10px*/
right:20px;/*向左偏移20px*/

通过设置元素的position属性为relative来实现的

控制元素位置属性:

        top

        right

        bottom

        left

        相对定位不会改变元素在正常文档流中的位置,它只是在视觉上移动了元素。因此,使用相对定位不会影响到其他元素的布局。        

绝对定位

        绝对定位是一种布局策略,它可以使一个元素脱离正常的文档流,并相对于其包含块进行定位。使用绝对定位属性可以让元素在页面中精确定位,并且不会影响到其他元素的布局。

通过设置元素的position属性为absolute来实现的。

控制元素位置属性:

        top

        right

        bottom

        left

格式:

//将一个元素绝对定位到页面的右下角:

div {

        position: absolute;

        bottom: 0;

        right: 0;

}

        绝对定位会使元素脱离正常的文档流,并且会覆盖其他元素的内容。因此,在使用绝对定位时需要谨慎考虑其布局效果,并与其他布局技术结合使用

z-index

        z-index属性在CSS中用于确定元素的堆叠顺序。z-index的值是一个整数,表示元素在Z轴上的位置。一个较大的z-index值意味着元素在叠层顺序中会更靠近顶部。

        需要注意的是,z-index属性只对设置了定位(position:relative/absolute/fixed/sticky)的元素有效。默认值为auto,如果z-index设置为auto,则根据元素的定位类型(static/relative/absolute/fixed/sticky),其层叠顺序会受到不同的影响。

        此外,z-index也支持负值,但要注意的是,如果定位元素有发生嵌套,那么负值的z-index可能不会按照预期工作。在CSS2.1时代,只有定位元素(position:relative/absolute/fixed/sticky)的z-index才有作用。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

七、ZooKeeper选举机制

目录 1、概念 2、全新集群选举 3、非全新集群选举 zookeeper默认的算法是FastLeaderElection,采用投票数大于半数则胜出

接口测试基础知识

一、接口测试简介 什么是接口测试&#xff1f; 接口测试是测试系统组件间接口的一种测试&#xff0c;主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。 测试的重点&#xff1a; 检查数据的交换&#xff0c;传递和控制管理过程&#xff1b;检查系统间的相互…

OpenTelemetry系列 - 第1篇 相关概念

目录 一、背景二、概念2.1 Traces & Span2.2 Metrics2.3 Logs2.4 Baggage2.5 OTel2.6 OTLP2.7 Resources2.8 Instrumentation Scope2.9 Sampling 三、核心组件 一、背景 OpenTelemetry是一个可观察性框架和工具包&#xff0c;旨在创建和管理遥测数据&#xff0c;如跟踪、指…

一个用c#瞎写的sftp工具

0.下载地址 https://wwus.lanzouj.com/iOZUv1gkgpze 密码:123456 1.能进行单个和批量下载, 没有弄上传 2.速度奇差,可能是某些地方没弄好.有一定的进度显示,但是不太准. 3.很多地方没弄好,有能力的自己弄一下 4.在app.config文件配置sftp

深度学习第4天:感知机模型

☁️主页 Nowl &#x1f525;专栏《机器学习实战》 《机器学习》 &#x1f4d1;君子坐而论道&#xff0c;少年起而行之 ​ 文章目录 感知机模型介绍 神经网络搭建感知机 结构 准备训练数据 感知机的损失函数与优化方法 测试结果 完整代码 多层感知机 结语 感知机模…

火车头插件-最全火车头伪原创图片存储等插件

火车头插件。作为一个功能强大的工具&#xff0c;火车头插件以其众多特色引起了广大用户的关注。而其中&#xff0c;火车头采集器更是备受瞩目。我们将分享火车头插件的安装教程&#xff0c;还会深入了解火车头伪原创插件的应用。 火车头插件安装教程 我们来安装火车头插件&a…

JavaScript 内存泄漏的检测与防范:让你的程序更稳定

&#x1f90d; 前端开发工程师&#xff08;主业&#xff09;、技术博主&#xff08;副业&#xff09;、已过CET6 &#x1f368; 阿珊和她的猫_CSDN个人主页 &#x1f560; 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 &#x1f35a; 蓝桥云课签约作者、已在蓝桥云…

HT7713 3A同步降压变换器 快速瞬态响应

HT7713 是一款 3A 降压转换器&#xff0c;具有Z少的外部元件和低关断电流。HT7713具有快速瞬态响应的特点&#xff0c;输出电容器采用低 ESR &#xff08;聚合物&#xff09;或超低 ESR&#xff08;陶瓷&#xff09;&#xff0c;无需外部补偿。 HT7713在轻载时以脉冲跳跃模式工…

Spring Security 6.x 系列(8)—— 源码分析之配置器SecurityConfigurer接口及其分支实现

一、前言 本章主要内容是关于配置器的接口架构设计&#xff0c;任意找一个配置器一直往上找&#xff0c;就会找到配置器的顶级接口&#xff1a;SecurityConfigurer。 查看SecurityConfigurer接口的实现类情况&#xff1a; 在 AbstractHttpConfigurer 抽象类的下面可以看到所有…

HT81298 集成免滤波器调制D类音频功放

HT81298是一款内置升压的立体声D类音频功率放大器&#xff0c;HT81298内部集成免滤波器调制技术&#xff0c; 能够直接驱动扬声器&#xff0c;内置的关断功能使待机 电流Z小化&#xff0c;还集成了输出端过流保护、片内 过温保护、输入电源欠压异常保护、升压电压 过压保护等功…

Docker 环境中 Spring Boot 应用的 Arthas 故障排查与性能优化实战

&#x1f680; 作者主页&#xff1a; 有来技术 &#x1f525; 开源项目&#xff1a; youlai-mall &#x1f343; vue3-element-admin &#x1f343; youlai-boot &#x1f33a; 仓库主页&#xff1a; Gitee &#x1f4ab; Github &#x1f4ab; GitCode &#x1f496; 欢迎点赞…

Guns快速开发平台 Shiro反序列化漏洞复现

0x01 产品简介 Guns是一个现代化的 Java 应用开发框架&#xff0c;基于主流技术Spring Boot 2 Vue3&#xff0c;Guns的核心理念是提高开发人员开发效率&#xff0c;降低企业信息化系统的开发成本。 0x02 漏洞概述 Guns v5.1 及之前的版本存在 shiro 反序列化漏洞&#xff0c;…

1.0 十大经典排序算法

分类 算法 本系列算法整理自&#xff1a;https://github.com/hustcc/JS-Sorting-Algorithm 同时也参考了维基百科做了一些补充。 排序算法是《数据结构与算法》中最基本的算法之一。 排序算法可以分为内部排序和外部排序&#xff0c;内部排序是数据记录在内存中进行排序&#…

Google Chrome 下载 (离线版)

1 访问网址 Google Chrome 网络浏览器 2 点击 下载Chrome 3 直接运行 ChromeStandaloneSetup64.exe 其他&#xff1a; ####################### 谷歌浏览器 (Google Chrome) 最新版离线安装包下载 https://www.iplaysoft.com/tools/chrome/#google_vignette Google Chrome …

SpringBoot整合Activiti7——消息事件(十)

文章目录 消息事件开始事件中间事件边界事件代码实现xml文件测试流程流程执行步骤 消息事件 消息事件只有一个接收者&#xff0c;消息具有名字与载荷。 信息会储存在 act_ru_event_subscr 表中。 <!-- 定义消息 --> <message id"msgId1" name"msgName…

触控板绘画工具Inklet mac功能介绍

Inklet mac是一款触控板绘画工具&#xff0c;把你的触控板变成画画的板子&#xff0c;意思是&#xff0c;你点在触控板的哪里&#xff0c;鼠标就会出现载相应的地方。例如&#xff0c;但你把手指移动到触控盘左下角&#xff0c;那么鼠标也会出现在左下角&#xff0c;对于用户而…

富文本内容回显

<el-card><h7>正文内容</h7><template><div v-html"inputForm.bulletinData"></div></template></el-card> 通过 v-html 来回显数据

MidJourney笔记(6)-Niji模式

Niji模式 回顾一下,在讲解settings命令时,我们可以看到一个Niji字眼。 而且是在Midjourney V4之后才有的,那Niji到底是什么? Niji是MidJourney中用于绘制二次元/动漫风格的模型,那Niji的V4和V5有什么区别呢?

Docker Compose及Docker 知识点整理

目录 1、Docker Compose 简介 2、为什么要使用Docker Compose 3、Docker Compose安装使用&#xff08;Linux&#xff09; 3.1 下载 3.2 mkdir docker 文件夹目录 3.3 上传docker-compose到docker文件夹 3.4 移动到 /usr/local/bin 目录下 3.5 添加执行权限 3.6 修改文…

spring boot 3.2.0 idea从零开始

spring boot 3.2.0 idea从零开始 最新的spring initilizer 不再支持低版本java&#xff0c;只能选择17、21 。 我也被迫尝试下最新版本的java。 jdk下载地址 自定义好artifact和group之后点击下一步。 在这里选择需要的组件&#xff0c;我准备做web项目所以只选择spring web …