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

Javaweb - 3 CSS

CSS 层叠样式表(Cascading Style Sheets),能够对网页中元素位置的排版进行像素级精确控制,支持几乎所有的字体字号样式,拥有对网页对象和模型样式编辑的能力。

简单来说,HTML 搭建一个毛坯房,CSS 对毛坯房进行装修美化,到了 JS 的时候,就是加入家电智能设备了。

目录

1 CSS 引入方式

方式 1:行内式

方式 2:内嵌式

方式 3:外部样式表

2. CSS选择器

        1. 元素选择器:

        2. id 选择器:

        3. class 选择器

3. CSS 浮动

4. CSS 定位

static

absolute

relative

fixed

5. CSS 盒子模型

完!


1 CSS 引入方式

方式 1:行内式

        通过元素的 style 属性引入样式。

        语法:style = ”样式名:样式值;样式名:样式值;...........“

        缺点:1. 代码复用度低,不利于维护。

                   2. css 样式代码和 html 结构代码交织在一起,影响阅读,影响文件大小,影响性能。

方式 2:内嵌式

                通过在 head 标签中的 style 标签,定义本页面的公共样式。

                通过选择器来确定样式的作用元素。

        内嵌式样式需要在 head 标签中,通过一对 style 标签定义 css 样式

        css 样式的作用范围要依赖选择器

        缺点:

                内嵌式虽然对样式代码做了抽取,但是 css 代码仍然在 html 文件中

                内嵌样式仅仅只能作用在当前文件,代码的复用度还是不够,不利于网站的风格统一

方式 3:外部样式表

                将 css 代码单独放入 .css 样式文件,在 head 标签中通过 link 标签引入

              <link href = "css/btn.css" rel = stylesheet>(rel 表示的是引入文件的类型 css 就是 style sheet)


2. CSS选择器

        1. 元素选择器:

                语法:标签名{ }

                缺点:某些同名的元素,不希望使用某些样式,某些不同名的元素,也想要使用该样式,无法协调。

        2. id 选择器:

                根据标签的 id 值来确定样式的作用元素。

                一般每个元素都有 id 属性,在一个页面中,id 的值不应该相同,id 具有唯一性。

                语法:#id值{ }

                缺点:id 值有唯一性,样式只能作用到一个元素上

        3. class 选择器

                        根据元素的 class 属性值来确定样式的作用元素

                        元素的 class 值可以重复,而且一个元素的 class 属性可以有多个值

                        语法:.class属性值{ }

class 选择器非常灵活,在 css 中,大部分情况均使用该选择器~

3. CSS 浮动

CSS 的 Float(浮动),使元素脱离文档流,按照指定的方向(左或者右发生移动),直到它的外边缘碰到包含框或另一个浮动框的边框为止。

浮动设计的初衷,是为了解决文字环绕图片问题,浮动后一定不会把文字挡住。

文档流是文档中可显示对象在排列所占的位置 / 空间,而脱离文档流就是在页面中不占位置了~

有如上图代码,运行结果如图:

我们想让块元素在同一行,该如何操作呢?(块元素定义是独占一行的~)

首先可以想到,用 display 来设置行元素和块元素~

但是很明显,在设置之后,宽和高的设置都失效了~ 并不符合我们的预期~

这个时候就想到了 -- 浮动手段

此时,div1 就浮动到了父级的最右边~

注意观察的是,框 2 自动向上浮动,占据了之前 div1 的位置~

通过浮动,就可以实现,让多个块元素,既保持了它的块元素特征,也保持在了同一行。

如果是向左浮动呢?

此时发生的效果,又有点不对劲了~

当我们只在 div1 中设置 left 的浮动,发现结果如上图。

出现上图的原因是:框1 由于我们的浮动设置,脱离了文档流。但还记得我们浮动的设计初衷吗?是为了解决文字环绕图片问题,浮动后一定不会把文字挡住。

框1 left 浮动之后,把框2 的颜色遮挡住了,但是不会把文字给遮挡住,所以框2 的文字也就被挤到下面了,和框3 的文字重合在了一起~~

当我们给三个 div 都设置 left 的浮动后,就会正常显示了~

4. CSS 定位

让 div 出现在指定的位置 ==》 定位

position 属性指定了元素的定位类型:

static

静态定位 static 不设置的时候的默认值就是 static,静态定位,元素出现在该出现的位置 == 》 块级元素垂直排列,行内元素水平排列。

absolute

绝对定位 absolute,通过 top left right bottom 指定元素在页面上的固定位置,定位后,元素会脱离文档流,其他元素可以占用其位置。

relative

相对定位 relative,相对于自己原来的位置进行定位,定位后保留原来的占位,其他元素不会移动到该位置。

fixed

固定占位,始终在浏览器窗口固定位置,不会随着页面的上下移动而移动,元素定位后会让出原来的位置,其他元素可以占用

当我们在 div 后面加上 100 个 br 换行后,滑动浏览器页面,发现框1 始终都在页面的固定位置~

这种一般就适用于 == 》 广告~~

5. CSS 盒子模型

所有的 HTML 元素可以看作盒子,在 CSS 中,“box model” 这一术语用来设计和布局~

CSS 盒模型本质上是一个盒子,来封装周围的 HTML 元素。它包括:外边距(margin),边框(border),内边距(padding),实际内容(content)

用一个实际的例子来理解上面的概念是:

我们有一个盒子:容量 width:100px height:100px border:1px

如图,粉色的是我们的实际内容,width:100px,height:100px,红色的是border:1 px

border 向实际内容里面是内边距,border 向实际内容外是外边距,注意,内外边距所占的像素并不会影响实际内容的大小~

实例如下:

在浏览器 F12 观察如下:

完!

http://www.lryc.cn/news/573745.html

相关文章:

  • 没掌握的知识点记录
  • 基于全志T133-s3 busybox 设置登录用户名及密码
  • 【队列】-----【简单的数据结构】
  • leetcode:面试题 08.06. 汉诺塔问题
  • 【unitrix】 4.1 类型级加一操作(Add1.rs)
  • 大模型应用:如何使用Langchain+Qwen部署一套Rag检索系统
  • 【教程】不同架构(armv7l等)下载Miniconda安装包
  • RA4M2开发IOT(11)----ADC检测电压
  • 如何用AI开发完整的小程序<10>—总结
  • webRTC源码配置和编译 + Vscode Intelligence配置
  • 9大策略深度解析MySQL多表JOIN性能优化
  • Python-break、continue与else语句
  • 实战记录:minapp框架下跨机型接口调用顺序引发的兼容性问题
  • 如何仅用AI开发完整的小程序<6>—让AI对视觉效果进行升级
  • AAudio:Android 低延迟音频处理的核心组件
  • WEB3开启 Hardhat 自动验证有什么意义
  • 【设计模式】策略模式 在java中的应用
  • 排序算法-python实现
  • docker私有仓库部署配置学习
  • 深度解析云计算网络架构:VLAN+OVS+Bonding构建高可靠虚拟化平台
  • LINUX 622 SAMBA
  • Macbook M4芯片 MUMU模拟器安装使用burpsuit抓包教程APP
  • SpringCloudGateway(spel)漏洞复现 Spring + Swagger 接口泄露问题
  • 【DataWhale组队学习】AI办公实践与应用
  • 探索尝试-ai编程-01-使用ai编程处理单文件的特定文本内容筛选
  • 核心概念解析:AI、数据挖掘、机器学习与深度学习的关系
  • 从零理解鱼眼相机的标定与矫正(含 OpenCV 代码与原理讲解)
  • mp.set_start_method(“spawn“)
  • 可理解性输入:洗澡习惯
  • 时序数据库IoTDB的架构、安装启动方法与数据模式总结