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

CSS:元素显示模式与背景

元素显示模式

元素显示模式是指元素在浏览器页面中显示的模式,比如<div></div>是独占一行的块级元素,<span></span>是行内元素

元素显示模式分为三大类:

  • 块级元素
  • 行内元素
  • 行内块元素

块级元素 block

常见的块级元素有:<h1> - -<h6> ,<p>,<ul>,<ol>,<li>,<div>

块级元素的特点:

  • 独占一行
  • 可以控制宽高,内外边距
  • 宽度默认值为父级元素的100%
  • 内部可以放其它块级和行内元素

但是当块级元素是文本的块级元素时,那么就html就规定不能这样使用,如果我们一定要这样使用那么浏览器会自动修改我的的代码

演示代码

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head>
<body><p>我是左边的文本<div>我是中间的文本</div>我是右边的文本</p>换一行<p>我是左边的文本<div>我是中间的文本</div>我是右边的文本</p>
</body>
</html>

演示结果

我们可以看到这里的<div></div>被分离了出来,然后在前面和后面添加了<p></p>,所以对这种文本元素,我们不能将块级元素放在块级元素里

行内元素inline

常见的行内元素有:<a>,<strong>,<b>,<em>,<del>,<span>等

行内元素的特点:

  • 一行能放多个行内元素
  • 不能设置宽高,设置了也无效,只能通过设置大小来改变宽高
  • 只能包含文本和其它行内元素

我们来演示一下修改行内元素大小

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head>
<body><span style="font-size: 50px;">我是一段文本</span>
</body>
</html>

演示结果

行内块元素inline-block

常见的行内块元素有:<img> <input> <td>等

元素特点

  • 一行内可以有多个行内块元素
  • 默认宽度是本身的宽度(块级的默认宽度是继承父级的)
  • 可以控制宽高和内外边距

元素显示模式对比

元素模式元素排列设置样式默认宽度包含
块级元素一行只能放一个块级元素可以设置宽高父级容器的100%可以包含任何标签
行内元素一行可以放多个行内元素不可以直接设置宽高由内容撑开只能容纳文本或者其它行内元素
行内块元素一行可以放多个行内块元素可以设置宽高由内容撑开-

 元素显示模式转换display

 CSS提供了一个display给我们来定义它的元素显示类型

代码演示

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head>
<body><p style="display: inline;">Hello,World!!!</p><p style="display: inline;">Hello,World!!!</p><p style="display: inline;">Hello,World!!!</p><p style="display: inline;">Hello,World!!!</p>
</body>
</html>

演示结果

  

我们可以将块级元素转化成行内元素,可以将行内元素转换成块级元素,这里会涉及很多问题,但是我们就提一个

 即使块级元素转换成了行内元素,块级元素转成行内元素也不能在里面加块级元素

演示代码

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head>
<body><span><div>Hello,World!!!</div></span><p style="display: inline;"><div>Hello,World!!!</div></p>
</body>
</html>

演示结果 

 我们这里两块代码有所不同,虽然都是行内元素包含块元素,但是因为是转化过的仍然不能包含

 背景属性

背景颜色

背景颜色格式

background-color: 背景颜色;

 可以用来更改标签内容在浏览器上的背景颜色

演示代码

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>div{background-color:blueviolet ;}</style>
</head>
<body><div>Hello,World!!!</div>
</body>
</html>

演示结果

我们可以看到整个div的背景颜色变成了紫色

图片背景 

我们的图片也可以作为文本的背景,我们可以设置图片背景的长宽

background-image: url(图片地址);
background-size: 200px;
height: 200px;
width: 200px;

url:后面的括号需要包括所使用图片的路径或地址

background-size:是用来设置图片的大小,后面的参数单位是px

height:用来设置显示图片的高度

width:用来设置显示图片的长度

演示代码

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>.bgi .one{background-image:url(9bilibili1.jpg);background-size: 400px;height: 150px;width: 200px;}</style>
</head>
<body><div class="bgi"><div class="one">Hello,World!!!</div></div>
</body>
</html>

演示结果

 

背景平铺 

 图片平铺的基本格式

background-image:url(9bilibili1.jpg);
background-size: 20px;;
height: 900px;
background-repeat: repeat;

其中background-repeat是设置图片铺设的方式,一般默认是repeat,常用的参数有四个

  • repeat:将X轴方向和Y轴方向铺满
  • repeat-x:将X轴方向铺满
  • repeat-y:将Y轴方向铺满
  • no-repeat:不铺设

代码演示 

这里我们只演示repeat-x和repeat-y

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>.bgi .one{background-image:url(9bilibili1.jpg);background-size: 20px;;height: 900px;background-repeat: repeat-y;}.bgi .two{background-image:url(R-C.png);background-size: 20px;;height: 900px;background-repeat: repeat-x;}</style>
</head>
<body><div class="bgi"><div class="one">Hello,World!!!</div><div class="two">Hello,World!!!</div></div>
</body>
</html>

演示结果

 

这里有两个背景图片分别向X轴和Y轴方向平铺

背景位置

background-position:X Y

 X 和 Y一共有三个种类

方位名词:left top right bottom

精确单位:百分比(%)或精确坐标(px)

混合单位:同时包含方位名词和精确单位

我们来尝试一下混合单位

演示代码

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>.bgi .one{background-image:url(9bilibili1.jpg);background-size: 30px;;height: 900px;background-position: 100px center;background-repeat: no-repeat;}</style>
</head>
<body><div class="bgi"><div class="one">Hello,World!!!</div></div>
</body>
</html>

演示结果

 

这张背景图以左上角为远点向右偏移100px然后居中

注意事项

  • 如果X和Y都是方位名词,那么谁在前谁在后都一样 
  • 如果只给了一个参数,那么默认另一个参数都是居中
  • 如果X给了一个精确单位,那么Y一定是Y轴
  • 如果X给了一个方位名词,那么Y一定也是Y轴

背景附着

background-attachment: scroll | fixed | local;

 三个参数讲解

  • scroll:背景图片会随着元素内容一起滚动(默认)
  • fixed:背景图片相对于视口固定
  • local:背景图片相对于元素内容固定

这里就不好演示了 

http://www.xdnf.cn/news/4683.html

相关文章:

  • 【Java ee 初阶】文件IO和操作(下)
  • 系统架构-面向服务架构(SOA)
  • 【嵌入式开发-SPI】
  • 常见的提示词攻击方法 和防御手段——提示词注入(Prompt Injection)攻击解析
  • 了解Dockerfile
  • 【计算机网络 第8版】谢希仁编著 第四章网络层 题型总结2
  • 如何用分布式防御抵扣大规模DDoS攻击?
  • 【PostgreSQL数据分析实战:从数据清洗到可视化全流程】电商数据分析案例-9.2 流量转化漏斗分析
  • 前端实战中的单例模式:以医疗药敏管理为例
  • [论文笔记] 超详细解读DeepSeek v3全论文技术报告
  • 零基础入门Hadoop:IntelliJ IDEA远程连接服务器中Hadoop运行WordCount
  • TDEngine 与 Grafana
  • 从零开始在亚马逊云科技 EC2上部署DeepSeek R1大语言模型:完整实战指南
  • Linux 网络命名空间:从内核资源管理到容器网络隔离
  • 算法与数据结构 - 常用图算法总结
  • 观测云:安全、可信赖的监控观测云服务
  • 《React Native性能优化:从卡顿到丝滑的蜕变之旅》
  • 菊厂笔试1
  • Django rest_framework 信号机制生成并使用token
  • SSH 服务部署指南
  • 学习基本乐理知识
  • 【C/C++】RPC与线程间通信:高效设计的关键选择
  • 如何使用npm下载指定版本的cli工具
  • Git查看某个commit的改动
  • 极狐GitLab 容器镜像仓库功能介绍
  • MySQL为什么默认使用RR隔离级别?
  • Spark 之 metrics
  • ubuntu yolov5(c++)算法部署
  • Linux开发工具【中】
  • 适配国产化,私有化部署的局域网即时通讯工具-BeeWorks