Java零基础教学文档第四篇:HTML_CSS_JavaScript(1)

今日新篇章
【CSS】
【主要内容】

  1. CSS简介

  2. CSS基础语法

  3. CSS选择器

  4. CSS常用属性

  5. CSS元素分类

  6. CSS定位

【学习目标】
在这里插入图片描述

1.CSS的简介

1.1 CSS定义与解释**
CSS是Cascading Style Sheets(层叠样式表单)的简称,CSS就是一种叫做样式表(stylesheet)的技术。它用于定义HTML元素的显示形式,是一种格式化网页内容的技术。CSS现在已经被大多数浏览器所支持,成为网页设计者必须掌握的技术之一。

W3C自1996年12月发布第一个CSS正式推荐版CSS 1.0以来,一直在对CSS标准进行修订、升级。1999年1月,CSS 2.0 正式推荐版发布,增加了对其它媒体(打印机、视觉设备)、可下载字体、元素定位和表格的支持。最新标准的CSS 3.0已经发部,其主要的影响是可以使用新的可用的选择器和属性,这些会允许你实现新的设计效果(譬如动态和渐变),而且可以很简单的设计出以前需要JavaScript才能设计出来的效果。

1.2 CSS替我们解决什么问题
通过前面我们知道CSS也只是一个技术或一个东西的代名词,那究竟CSS作用是什么,CSS能帮我们解决什么问题呢?
DIV + CSS 作用与解决问题:

1.CSS技术帮我们控制网页中的字体大小、页面宽度、页面内容靠左靠右、字体样式、某些网页里区域背景图片、背景颜色、超链接鼠标事件样式、图片居中、文字居中、网页中内容板块间隔等样式。

2.CSS的最核心作用:实现将内容与表现形式相分离。

2. CSS基础语法

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

选择器 { 属性1: 值1; 属性2: 值2; … 属性N: 值N; }

选择器通常是您需要改变样式的 HTML 元素。

每条声明由一个属性和一个值组成,属性和值用冒号(“ : ”)分开,多条声明用分号(“ ; ”)分开。

下面这行代码的作用是将 h1 元素内的文字颜色定义为红色,同时将字体大小设置为 14 像素。

在这个例子中,h1 是选择器,color 和 font-size 是属性,red 和 14px 是值。

h1 {color: red; font-size:14px;}

下面的示意图为您展示了上面这段代码的结构:
在这里插入图片描述

2.2 引入样式方式
2.2.1 行内样式(内联样式) css样式的个数<=3
使用该属性可以直接指定样式,当然,该样式仅能用于该元素的内容,对于另一个同名的元素则不起作用。

1、样式的属性内容直接跟在将要修饰的文字标记里

2、具体格式: style=“color: red; font-size: 14px”

我是一个p标签

2.2.2 内部样式(嵌入式) 3<css样式的个数<=10
用户可在HTML文档头部定义多个style元素,实现多个样式表。

<style type=”text/css”>body {/*设置背景颜色*/background-color: yellow;}h1 {/*设置字体颜色*/color: blue;/*设置字体大小*/font-size: 30px;}
</style>

CSS的注释和HTML的注释不太一样,CSS的注释是以 “/* " 开头,以” */ "结尾,快捷注释和HTML一样都是 Ctrl + / 或 Ctrl + Shift + /

2.2.3 外部样式(外链式) css样式的个数>10
1、可以在多个文档间共享样式表,对于较大规模的网站,将CSS样式定义独立成一个一个的文档,可有效地提高效率,并有利于对网站风格的维护。

2、可以改变样式表,而无需更改HTML文档,这也与HTML语言内容与形式分开的原则相一致。

3、可以根据介质有选择的加载样式表。

<head><meta charset="UTF-8"><title>CSS层叠样式表</title><!--引入外部的层叠样式表,href指向的是需要加载样式表的.css文件--><link rel="stylesheet" href="css/index.css">
</head>

2.3 样式的优先级
多重样式:如果外部样式、内部样式和内联样式同时应用于同一个元素,就是使多重样式的情况。

样式优先级总结:谁离得近,谁优先级高!行内样式优先级最高!

3.CSS参考手册

3.1 长度单位**
l 绝对长度单位:绝对长度值最好用于打印输出设备,而在仅仅作为屏幕显示用时,绝对长度值并无多大意义。
在这里插入图片描述

3.2 颜色单位
颜色是通过对红(red)、绿(green)和蓝(blue)光的组合来显示的。

1、RGB 颜色值是这样规定的:rgb(red, green, blue),每个参数 (red、green 以及 blue) 定义颜色的强度,可以是介于 0 与 255 之间的整数,或者是百分比值(从 0% 到 100%)。

2、十六进制颜色是这样规定的:#RRGGBB,其中的 RR(红色)、GG(绿色)、BB(蓝色)十六进制整数规定了颜色的成分。所有值必须介于00 到 FF(255的十六进制是 FF) 之间。

3.3 相对路径与绝对路径
在Web开发中,插入图片、包含CSS文件等都需要有路径,如果文件路径的添加错误,就会导致引用失效(无法浏览链接文件,或无法显示插入的图片等)。那么接下来我们就详细的介绍一下相对路径与绝对路径。

相对路径:以引用文件之网页所在位置为参考基础,而建立出的目录路径。

绝对路径:以磁盘上的地址构成的路径为绝对路径,意指当所有网页引用同一个文件时,所使用的路径都是一样的。

Ø 相对路径的使用

以下为建立路径所使用的几个特殊符号,及其所代表的意义。

“.”–代表目前所在的目录。

“…”–代表上一层目录。

假设项目有如下图所示目录路径:
在这里插入图片描述

假若要在index.html文件中引用bg.jpg文件时,其相对路径如下:

<body><img src="./img/bg.jpg" alt="">/*也可以省略 "./" 直接用以下这个方式引用*/<img src="img/bg.jpg" alt="">
</body>假若要在login.html文件中引用bg.jpg文件时,其相对路径如下:<body><img src="../img/bg.jpg" alt="">
</body>

4.CSS选择器

首先CSS选择器分这么几大类:基础选择器、关系选择器、属性选择器、伪类选择器等。

4.1 基础选择器
基础选择器包含:标签选择器、class选择器、id选择器和通配符选择器。

4.1.1 标签选择器
HTML标签是最典型的选择器类型,任何一个HTML元素都可以做为选择器。

如果设置 HTML 的样式,选择器通常将是某个 HTML 元素,比如 p、h1、em、a,甚至可以是 html 本身。

html { background-color: yellow; }
h1 { color: blue; }
h2 { color: red; }

标签选择器的有效范围为页面中所有的、名称相同的HTML元素。

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>CSS选择器</title><style>p {color: blue;font-size: 18px;background-color: yellow;}</style>
</head>
<body><p>我是第一个p标签</p><p>我是第二个p标签</p><p>我是第三个p标签</p>
</body>
</html>

4.1.2 类选择器
第一步:给需要选中的元素添加class属性

第二步:选中该元素再添加样式 .类名 { 属性: 值; }

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>CSS层叠样式表</title><style>.tag {color: blue;}</style>
</head>
<body><h1 class="tag">我是标题</h1><div class="tag">我是一个div</div>
</body>
</html>

4.1.3 id选择器
第一步:给需要选中的元素添加id属性

第二步:选中该元素 #id名 { 属性: 值; }

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>CSS选择器</title><style>#title {color: blue;}#block {/*文字居中*/text-align: center;color: red;}</style>
</head>
<body><h1 id="title">我是标题</h1><div id="block">我是一个div</div>
</body>
</html>

注意:id与类选择器的概念相似,只是ID选择器只能被引用一次,而类选择器可以被多次引用。

4.1.4 通配符选择器
在CSS中,使用 * 代表所有的标签或元素,它叫做通配符选择器。

比如:* { color : red; } 这里就把所有元素的字体设置为红色。

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>CSS选择器</title><style>* {color: red;}</style>
</head>
<body><h1>我是标题</h1><div>我是一个div标签</div><span>我是一个span标签</span>
</body>
</html>

4.2 关系选择器
4.2.1 交集选择器
交集符合选择器是由两个选择器直接构成的,其结果是二者元素范围的交集。

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>CSS选择器</title><style>/*选中"我是一个div标签"的这个标签*/div.tag {color: blue;}/*选中"我是一个p标签"的这个标签*/p#title {font-size: 30px;}</style>
</head>
<body><h1 class="tag">我是标题</h1><div class="tag">我是一个div标签</div><p id="title">我是一个p标签</p>
</body>
</html>

4.2.2 并集选择器
并集选择器是由多个选择器通过逗号连接在一起的,这些选择器分别是:标签选择器、类选择器或id选择器等。

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>CSS选择器</title><style>/*选中符合条件的所有标签*/.search, span, #Important {color: red;}</style>
</head>
<body><a class="search" href="#">百度一下</a><h1>我是一个h1标签</h1><span>我是一个span标签</span><div><p>我是一个p标签</p><span>我是一个span标签</span><strong id="Important">我是一个强调标签</strong></div><p>我是一个p标签</p>
</body>
</html>

4.2.3 后代选择器
后代选择器又称为包含选择器,选择所有被E元素包含的F元素,中间用空格隔开。

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>CSS选择器</title><style>/*选中所有.box标签中存在的span标签*/.box span {color: red;}</style>
</head>
<body><div class="box"><h1>我是一个h1标签</h1><span>我是一个span标签</span><div><p>我是一个p标签</p><span>我是一个span标签</span><strong>我是一个强调标签</strong></div><p>我是一个p标签</p></div>
</body>
</html>

4.2.4 亲子选择器
选择所有作为E元素的直接子元素F,对孙子元素不起作用,用大于号表示。

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>CSS选择器</title><style>.tag > span {color: red;}</style>
</head>
<body><div class="tag"><h1>我是一个h1标签</h1><span>我是一个span标签</span><div><p>我是一个p标签</p><span>我是一个span标签</span><strong>我是一个强调标签</strong></div><p>我是一个p标签</p></div>
</body>
</html>

4.3 属性选择器
通过html的属性来选择元素,

align即是属性,center是align的属性值。

写法:元素[ 属性名= “属性值”] ,等号不固定,可换其它符号。

4.3.1 E[att]
选择具有attr属性的E元素,不用去管att属性的值是什么。

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>CSS选择器</title><style>[class] {color: red;}</style>
</head>
<body><div class="block">我是一个div标签</div><p class="title">我是一个p标签</p>
</body>
</html>

4.3.2 E[att=“val”]
选择具有att属性且属性值等于val的E元素。

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>CSS选择器</title><style>[class="title"] {color: red;}</style>
</head>
<body><div class="block">我是一个div标签</div><p class="title">我是一个p标签</p>
</body>
</html>

4.4 伪类选择器
伪类通过冒号来定义,它定义了元素的状态,如点击按下、点击完等等,我们之前都是直接操作元素的样式,现在可以为元素的状态改样式,使元素看上去更“动态”。

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>CSS选择器</title><style>/*鼠标悬浮在标签上的状态*/div:hover, a:hover {color: green;}/*元素在鼠标按下时的状态*/div:active, a:active {color: yellow;}/*元素被访问后的状态*/div:active, a:visited {color: yellow;}</style>
</head>
<body><div class="block">我是一个div标签</div><br><a href="#">百度一下</a>
</body>
</html>

4.5 选择器优先级
4.5.1 单个优先级比较
优先级规则:!important > id样式 > class样式 > 标签样式 > 通配符样式

在CSS中,通过对某一样式声明! important ,可以更改默认的CSS样式优先级规则,使该条样式属性声明具有最高优先级,也就是相当于写在最下面。

.box {
color:red !important;
}

4.5.2 复合标签优先级比较
复合标签优先级:由三个级别和各级别的出现次数决定的,三个级别对应的是:ID选择符、class选择符、元素选择符。

先比较符合标签中ID选择符出现的次数,谁出现的次数多,则优先级更高,反之则优先级低;如果复合符合标签中的ID选择符出现的次数相同,那么则比较class选择符出现的次数,谁出现的次数多,则优先级更高,反之则优先级低;如果复合符合标签中的class选择符出现的次数相同,那么则比较元素选择符出现的次数,谁出现的次数多,则优先级更高,反之则优先级低。

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><style>/*2个id选择符 1个元素选择符*/div #box-second-id #box-three-id {color: blue;}/*1个id选择符 1个元素选择符 1个元素选择符*/div #box-second-id .box-three-class {color: red;}/*最后在浏览器上面显示 blue 颜色的文字*/</style>
</head>
<body><div class="box-first-class" id="box-first-id"><div class="box-second-class" id="box-second-id"><div class="box-three-class" id="box-three-id">我是一个p标签</div></div></div>
</body>
</html>

4.5.3 优先级相同
优先级相同时,则采用就近原则,选择最后出现的样式;

5.CSS常用属性

5.1 背景属性**
CSS 允许应用纯色作为背景,也允许使用背景图像创建相当复杂的效果。
在这里插入图片描述

5.1.1 background-color

使用 background-color 属性为元素设置背景色,其默认值是 transparent 也就是“透明”的意思,可使用颜色名称、RGB、RGBA、十六进制数来指定颜色。

<style>/* 给.box的背景色设置为红色 */.box {background-color: red;}
</style>

5.1.2 background-image
使用 background-color 属性为元素设置背景背景图片,
其默认值是 none,表示背景上没有放置任何图像。

如果需要设置一个背景图像,必须为这个属性要么设置为 URL,要么设置一个图片路径。

<style>.box {background-image: url("img/bg.jpg");}
</style>

5.1.3 background-repeat
使用 background-repeat 属性设置背景图片是否重复。

repeat 重复(默认值)

repeat-x 图片在横向上平铺

repeat-y 图片在纵向上平铺

no-repeat 不重复平铺

<style>.box {background-image: url("img/11.jpg");/* 设置图片不重复平铺 */background-repeat: no-repeat;}
</style>

5.1.4 background-position
使用background-position 属性改变图像在背景中的位置。

可以使用长度值,如 100px,最后也可以使用百分数值。

可以使用一些关键字:top、bottom、left、right 和 center,不能超过两个关键字,一个对应水平方向,另一个对应垂直方向。

<style>.box {background-image: url("img/link.jpg");background-repeat: no-repeat;/*距离左侧200px 顶部100px*/background-position: 200px 100px;/*居中对齐*/background-position: 50% 50%;/*左下角对齐*/background-position: left bottom;}
</style>

5.1.5 background-size
background-size 属性规定背景图片的尺寸。

在 CSS3 之前,背景图片的尺寸是由背景图片的实际尺寸决定的。在 CSS3 中,可以规定背景图片的尺寸,这就允许我们在不同的环境中重复使用背景图片。

设置背景图片尺寸的参数:可以为长度单位:px、%,也可以用关键字cover和contain。

l cover: 按照最小宽或最小高来做拉伸,背景图片能够铺满设备屏屏幕,并不会造成图片失真。

l contain:按照最大宽度或最大高度来做拉伸,但是背景图片有可能不能铺满设备屏幕。

5.1.6 background-attachment
如果文档比较长,那么当文档向下滚动时,背景图像也会随之滚动。当文档滚动到超过图像的位置时,图像就会消失,可以通过 background-attachment 属性防止这种滚动。

通过这个属性,可以声明图像相对于可视区是固定的(fixed),因此不会受到滚动的影响。

<style>.box {background-image: url("img/link.jpg");background-repeat: no-repeat;background-position: center center;/* 无论滚动条如何滚动,图片都在标签的最中心 */background-attachment: fixed;}
</style>

5.2 文本属性
CSS 文本属性可定义文本的外观。

通过文本属性,您可以改变文本的颜色、字符间距,对齐文本,装饰文本,对文本进行缩进,等等。

text-align:对齐方式,left、right、center

text-decoration:文本修饰,underline(下划线)、line-throuth(删除线)、overline(上划线)、none

line-height:行高

text-indent:文字/图片缩进

5.2.1 color文本的颜色
可使用颜色名称、RGB、十六进制数来指定颜色。

5.2.2 opacity
opacity用来设置透明度,默认值为1,1为不透明,0为完全透明。

p{ opacity: 0;} 隐藏一个元素 ,完全不显示,但是会占空间,只是看不到。

5.2.3 font字体设置
在这里插入图片描述

<style>.title {/* 设置字体名字 */font-family: "宋体", "微软雅黑", Arial;/* 设置字体大小 */font-size: 2em;/* 设置字体粗细 */font-weight: 900;/* 设置字体风格 */font-style: italic;}
</style>

5.2.4 text-align
文本对齐属性text-align 属性规定元素中的文本的水平对齐方式,只能设置块级元素内文本的水平对齐方式。
在这里插入图片描述

<style>a {text-decoration: none;}
</style>5.2.6 letter-spacing
设置字与字之间的间距。<style>.title {letter-spacing: 10px;}
</style>

5.2.7 line-height行高
line-height 属性设置行间的距离(行高),属性值可以为数值也可以为百分比。

line-height妙用:设置文字居上下中展示

<style>.title {line-height: 80px;text-align: center;}
</style>

5.2.8 overflow 属性
描述 描述说明

visible 默认值。内容不会被修剪,会呈现在元素框之外。

hidden 内容会被修剪,并且其余内容是不可见的。

scroll 内容被修剪,但是浏览器会显示滚动条以便查看其余的内容。

auto 如果内容被修剪,则浏览器会显示滚动条以便查看其余的内容。

overflow 属性规定当内容溢出元素框时发生的事情。

5.2.9 扩展
实现溢出文本eclipsis的解决,让溢出的文字以省略号显示。

<style>.title {width: 5em;height: 1.4em;/*设置文本不能换行*/white-space:nowrap;/*设置文本超出文本框时隐藏文本*/overflow:hidden;/*用略符号来代表被修剪的文本*/text-overflow:ellipsis;}
</style>

5.3 复合样式

<style>div{border:1px solid red;  /*盒子的边框*/border-radius:/*边角的弧度,取值单位px、%*/}
</style>

5.4 列表属性
列表属性主要针对的是ul和ol类型的列表。

5.4.1 3.1 list-style-type
list-style-type
列表样式,类型属性值可以为:

disc (缺省值,黑圆点)

circle (空心圆点)

square (小黑方块)

decimal (数字排序)

lower-roman upper-roman 罗马数字

lower-alpha upper-alpha 英文字母

none (无列表项标记,针对无序列表)

6.元素的分类

元素主要分为:块级元素、内联元素(行级元素)和内联块级元素。

6.1 块级元素
块级元素排斥其他元素与其位于同一行,可以设定元素的宽(width)和高(height),块级元素一般是其他元素的容器,可容纳块级元素和行内元素。可设置四个方向的padding和margin值。

常见的块级元素有:body, div,p,h1~h6,ul,ol,li,pre等。

块级元素具有以下特点:

  1. 总是在新行上开始,占据一整行;

  2. 高度属性(height)和宽度属性(width)可以设置,并且外边距和内边距都可控制;

  3. 宽始终是与父元素宽度一样,与内容无关;

  4. 它可以容纳行内元素和其它块级元素。

设置display:block可以将元素显示为块级元素

如下的代码就是将内联元素a转成块级元素,从而使a元素具有块元素的特点。

<style>a { display: block }
</style>

6.2 内联元素(行内元素)
内联元素又称为行内元素,内联元素不可以设置宽(width)和高(height),但可以与其他行内元素位于同一行,行内元素内尽量不要包含块级元素。行内元素的高度一般由元素内部的字体大小决定,宽度由内容的长度控制。只能设置左右方向的padding和margin值,上下无法设置。

常见的行内元素有:a,em,strong,span, i, u, del等。

行内元素的特点:

  1. 可以和别的行内元素和行内块级元素共享一行;

  2. 不能设置高度属性(height)和宽度属性(width),另外内边距和外边距部分可控制;

  3. 行内标签的宽度只与内容有关;

  4. 行内元素只能容纳文本或者其他行内元素。

设置display:inline可以将元素显示为内联元素

如下的代码就是将块级元素div转成内联元素,从而使div元素具有内联元素的特点。

<style>div{ display:inline; }
</style>

6.3 行内块级元素(内联块级元素)
行内块级元既有块级元素的特点,又有内联元素的特点。可以与其他行内元素位于同一行,宽度由内容的长度控制,但可以设置宽(width)和高(height),也可以设置四个方向的padding(内边距)和margin(外边距)值。

常见的行内块级元素有img和input。

行内块级元素的特点:

  1. 行内块级元素可以设置宽度(width)和高度(hright)属性;

  2. 行内元素可以和别的行内元素和行内块级元素共享一行。

设置display:inline-block可以将元素设置为内联块级元素

如下的代码就是将块级元素div转成内联块级元素,从而使div元素具有内联块级元素的特点。

6.4 display属性补充
根据CSS规范的规定,每一个网页元素都有一个display属性,用于确定该元素的类型,每一个元素都有默认的display属性值,比如div元素,它的默认display属性值为“block”,称为块元素,而span元素的默认display属性值为“inline”,称为“行内”元素。

属性值 描述说明

none 此元素不会被显示,不保留物理空间。

block 此元素将显示为块级元素,此元素前后会带有换行符。

inline 此元素会被显示为行内元素,元素前后没有换行符。

inline-block 行内块元素。

visibility和display的区别

visibility属性用来确定元素是显示还是隐藏的,这用visibility="visible|hidden"来表示(visible表示显示,hidden表示隐藏)。

当visibility被设置为"hidden"的时候,元素虽然被隐藏了,但它仍然占据它原来所在的位置。

当display被设置为"none"的时候,这时元素实际上就从页面中被移走,它下面所在的元素就会被自动跟上填。

总结:应用display: none;的元素相当于消失,而visibility: hidden;则只表示隐藏,位置还在。

7.CSS定位属性

网页中大部分对象默认是占用文档流,也有一些对象是不占文档流的,比如表单中隐藏域。当然我们也可以让占用文档流的元素转换成不占文档流,这就要用到CSS中属性position、float、display来控制。

默认情况下,所有元素都处在文档流中,四种情况将使得元素离开文档流:浮动float、绝对定位absolute、相对定位fixed、元素不显示display:none,这种情况不占文档流的空间,而普通元素的位置基于文档流。

文档流:自窗体自上而下分成一行一行,并在每行中按从左到右的顺序排放元素。

7.1 position定位
position定位:规定元素的定位类型。即元素脱离文档流的布局,在页面的任意位置显示。

定位类型:绝对定位(absolute)、相对定位(relative)、固定定位(fixed)和默认的文档流布局方式(static)。

辅助属性:

position属性只是使元素脱离文档流,要想此元素能按照希望的位置显示,就需要使用下面的属性:

left : 表示向元素的左边插入多少像素,使元素向右移动多少像素。

right :表示向元素的右边插入多少像素,使元素向左移动多少像素。

top :表示向元素的上方插入多少像素,使元素向下移动多少像素。

bottom :表示向元素的下方插入多少像素,使元素向上移动多少像素。

注意:上面属性的值可以为负。

7.1.1 relative相对定位
相对定位:不脱离文档流的布局,只改变自身的位置,在文档流原先的位置遗留空白区域。定位的起始位置为此元素原先在文档流的位置。(相对定位后,元素位置移动了,但是原来的位置还占据着。)
在这里插入图片描述

7.1.2 absolute绝对定位
绝对定位:脱离文档流的布局,遗留下来的空间由后面的元素填充。定位的起始位置为最近的父元素(postion不为static),否则为body文档本身。
在这里插入图片描述

7.1.3 fixed固定定位

固定定位:fixed是特殊的absolute,按照浏览器的窗口进行定位。

7.2 z-index属性
z-index属性设置元素的堆叠顺序。拥有更高堆叠顺序的元素总是会处于堆叠顺序较低的元素的前面。z-index取值为整数类型,可以是负值,z-index 仅能在定位元素上奏效,如position:absolute。

设置文字在图片上面显示

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>z-index</title><style>img {position: absolute;top: 0;z-index: -1;}</style>
</head>
<body><h1>这是一个鼠标</h1><img src="img/mouse.jpg" alt="">
</body>
</html>

8.CSS随堂练习

8.1 实现表格界面
在这里插入图片描述

8.2 实现图书列表界面
在这里插入图片描述

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

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

相关文章

2024年了,Layui再战三年有问题不?

v2.9.3 2023-12-31 2023 收官。 form 优化 input 组件圆角时后缀存在方框的问题 #1467 bxjt123优化 select 搜索面板打开逻辑&#xff0c;以适配文字直接粘贴触发搜索的情况 #1498 Sight-wcgtable 修复非常规列设置 field 表头选项时&#xff0c;导出 excel 出现合计行错位的…

Ubuntu系统中指定端口防火墙状态查询与操作

浏览器访问&#xff1a; 如果遇到如山图所示的情况&#xff0c;既有可能是防火墙的问题。具体解决方案参照如下&#xff1a; 1.指定端口的防火墙状态查询 &#xff08;1&#xff09;查询命令 sudo ufw status | grep 8081/tcp #其中8081为要查询的端口号 如果端口是打开的…

TDengine 时序数据库 研究学习以及实战

下载地址&#xff1a;TDengine 发布历史及下载链接 | TDengine 文档 | 涛思数据 下载客户端和服务端 服务端和客户端的安装后 TDengine 客户端连接工具地址&#xff1a;Archive Files | DBeaver Community 添加驱动 新增 》 设置 选择驱动类后 设置里的类名就自动填写了&…

Jetson nano 实时性测试,使用stress-ng 和 cyclictest

系统&#xff1a;ubuntu18.04&#xff0c;Jetpack4.3 打上了实时补丁 安装stress-ng和cyclictest sudo apt-get install stress-ng sudo apt-get install rt-tests 无负载情况的实时性 让两个CPU满载运行60秒 两个CPU满载实时性&#xff1a; 测了一下&#xff0c;4个CPU满载的…

服务端性能测试——性能测试工具JMeter-L1

第一遍没学懂&#xff0c;后续文章会更新~ 目录&#xff1a; 1.JMeter介绍与安装Meter简介JMeter安装2.JMeter的运行JMeter运行、界面功能简介3.使用代理服务器录制请求录制压测脚本&#xff08;一&#xff09;Web端脚本录制方法4.测试计划5.线程组6.控制器7.JMeter采样器/取…

【面试突击】分布式技术面试实战

&#x1f308;&#x1f308;&#x1f308;&#x1f308;&#x1f308;&#x1f308;&#x1f308;&#x1f308; 欢迎关注公众号&#xff08;通过文章导读关注&#xff1a;【11来了】&#xff09;&#xff0c;及时收到 AI 前沿项目工具及新技术 的推送 发送 资料 可领取 深入理…

你真的掌握了“C语言分支循环”吗

目录 前言 1. if语句 1.1 if 1.2 else 1.3 分支中包含多条语句 1.4 嵌套if 1.5 悬空else问题 2. 关系操作符 3. 条件操作符 4. 逻辑操作符&#xff1a;&& , || , &#xff01; 4.1 逻辑取反运算符 4.2 与运算符 4.3 或运算符 4.4 练习&#xff1a;闰年的判…

Unity WebView 中文输入支持

使用版本&#xff1a;Vuplex 3D WebView for Windows v4.4&#xff1b; 测试环境&#xff1a;unity editor 2020.3.40f1c1、Windows&#xff1b; 1、打开脚本CanvasWebVie!wPrefab 2、找到_initCanvasPrefab方法&#xff0c;约略在459行附近 3、添加一行代码&#xff1a; …

需求变更如此频繁,还甩锅给测试?

文章目录 项目背景需求变更的频繁的原因&#xff1f;生产问题产品复盘小结 项目背景 有一个数据管理平台系统的项目&#xff0c;需求频繁的变更了15次&#xff0c;每次生产上线后总是能出现一些让人意想不到的bug。开发人员和测试人员对这个项目嗤之以鼻&#xff0c;开项目会的…

科学和统计分析软件GraphPad Prism mac介绍说明

GraphPad Prism for Mac是一款科学和统计分析软件&#xff0c;旨在帮助研究者、科学家和学生更轻松地处理和可视化数据。 GraphPad Prism for Mac是一款功能强大、易于使用的科学和统计分析软件&#xff0c;适用于各种类型的数据处理和可视化需求。无论您是进行基础研究、临床试…

Vue组件

一&#xff1a;组件化开发基础 1.组件是什么&#xff1f;有什么用&#xff1f; 组件就是&#xff1a;扩展 HTML 元素&#xff0c;封装可重用的代码&#xff0c;目的是复用 例如&#xff1a;有一个轮播图&#xff0c;可以在很多页面中使用&#xff0c;一个轮播有js&#xff0c;…

如何用GPT来润色论文\生成完整长篇论文?

详情点击链接&#xff1a;如何用GPT来润色论文\生成完整长篇论文&#xff1f; 一OpenAI 1.最新大模型GPT-4 Turbo 2.最新发布的高级数据分析&#xff0c;AI画图&#xff0c;图像识别&#xff0c;文档API 3.GPT Store 4.从0到1创建自己的GPT应用 5. 模型Gemini以及大模型Cl…

基于arcgis的遥感深度学习数据集制作

由于很多时候&#xff0c;我们在研究过程中往往需要根据实际情况使用自己的影像数据来提取目标物&#xff0c;如果没有合适的公开数据集的话&#xff0c;为了满足实际需要&#xff0c;我们就需要制作符合自己要求的数据集。 今天我们就根据实际情况来详细讲解如何利用arcgis&am…

文心大模型融入荣耀MagicOS!打造大模型“端云协同”创新样板

2024年1月10日&#xff0c;在荣耀MagicOS 8.0发布会及开发者大会上&#xff0c;荣耀终端有限公司CEO赵明宣布了“百模生态计划”&#xff0c;并与百度集团执行副总裁、百度智能云事业群总裁沈抖共同宣布&#xff0c;百度智能云成为荣耀大模型生态战略合作伙伴。 沈抖在现场演讲…

帆软report 设置条件属性,值为负数标为红色功能时,不生效

详细情况&#xff1a; 在设置负数为红色功能前&#xff0c;已经有一个条件属性&#xff0c;数据集获取的值为空或者为0时&#xff0c;转换成 - 符号。如下图&#xff1a; 具体表单显示效果如下&#xff1a; 条件属性2设置 原因 因为条件属性1设置的 - 符号没有设置颜色&#xf…

数据结构排序——详解快排及其优化和冒泡排序(c语言实现、附有图片与动图示意)

上次讲了选择排序和堆排序&#xff1a;数据结构排序——选择排序与堆排序 今天就来快排和冒泡 文章目录 1.快排1.1基本介绍1.2不同的分区方法及代码实现1.2.1Hoare版1.2.2挖坑版1.2.3 前后指针版 1.3快排的优化1.3.1三数取中选key1.3.2递归到小的子区间时&#xff0c;可以考虑…

正面PK智驾,华为与博世「硬扛」

12月20日&#xff0c;随着奇瑞星纪元ES的亮相上市&#xff0c;华为与博世&#xff0c;分别作为新旧时代的供应商角色&#xff0c;首次在高阶智驾赛道进行正面PK。 11月28日&#xff0c;奇瑞和华为合作的首款车型智界S7上市&#xff0c;作为星纪元ES的兄弟车型&#xff0c;搭载华…

STL之list

目录 list定义和结构 list容器模板接受两个参数&#xff1a; list容器的特点 双向性 动态大小 不连续存储 实例 代码输出 需要注意的点 list常用函数 代码示例 list定义和结构 list的使用频率不高&#xff0c;在做题时极少遇到需要使用list的情景。 list是一种双向…

2023 年崭露头角的七款不为人知的 Linux 发行版

今年有哪些成功的发行版发布呢&#xff1f; 让我重点介绍最好的几个。 这些发行版在 2023 年引起了人们的关注&#xff01; 每年我们都会推出一些令人兴奋的新发行版&#xff0c;它们尝试以不同的方式工作&#xff0c;或者提供一些有意义的东西&#xff0c;而不仅仅是“又一个发…

创建mysql普通用户

一、创建mysql普通用户的原因&#xff1a; 权限控制&#xff1a;MySQL的权限系统允许您为每个用户分配特定的权限。通过创建普通用户&#xff0c;您可以根据需要为每个用户分配特定的数据库和表权限&#xff0c;而不是将所有权限授予一个全局管理员用户。这有助于提高数据库的…