[HTML]Web前端开发技术6(HTML5、CSS3、JavaScript )DIV与SPAN,盒模型,Overflow——喵喵画网页

希望你开心,希望你健康,希望你幸福,希望你点赞!

最后的最后,关注喵,关注喵,关注喵,佬佬会看到更多有趣的博客哦!!!

喵喵喵,你对我真的很重要!

目录

前言

CSS盒模型简介

CSS盒模型

CSS盒模型结构

盒模型的属性

边框border

边框宽度border-width

边框样式border-style

边框颜色border-color

边框简写border

边框的四个方向

border-radius

外边距margin

内边距padding

盒模型的大小

课后练习

应用CSS行内样式表

使用border-radius属性制作圆角边框。

网页标题:字体样式综合应用

总结


前言

1 盒模型简介

2 盒模型的属性

3 盒模型的大小

4 盒子的margin合并问题


CSS盒模型简介

CSS模型(Box Model),用于描述HTML元素形成的矩形盒子。

        网页中的所有元素都可以看成是一个盒子,占据着一定的页面空间,可以通过CSS来控制这些盒子的显示属性,把这些盒子进行定位,完成整个页面的布局。

         盒模型是CSS定位布局的核心内容


CSS盒模型

网页中的所有元素都可以看成是一个盒子,占据着一定的页面空间
例如:页面上的区域( div )、列表( ul / ol )、段落( p )等都可以是盒子
网页中的所有元素都可以看成是一个盒子,占据着一定的页面空间
每个 HTML 元素都具有元素内容、内边距、边框和外边距。 CSS 框模型的结构如图所示。
Overflow 属性,默认值为“ visible ”,即超出的内容可见

CSS盒模型结构


盒模型的属性

padding-border-margin模型是一个非常通用的描述盒子布局形式的方法。对于任何一个盒子,都可以分别通过设定4条边各自的paddingbordermargin,实现各种各样的排版效果。


边框border

使用CSS边框的相关属性可以为HTML元素创建不同宽度、样式和颜色的边框。


边框宽度border-width

CSS中的border-width属性用于定义HTML元素边框的宽度。该属性有四种取值


边框样式border-style
CSS 中的 border-style 属性用于定义 HTML 元素边框的样式。该属性有 10 种取值,如表所示。
效果如下:

边框颜色border-color
CSS 中的 border-color 属性用于定义 HTML 元素边框的颜色。其属性值为正常的颜色值即可,例如 red 表示红色边框等。
{ border-color:red ; }      // 四条边框线均设置为红色

边框简写border

CSS中的border属性可以用于概括其它3种边框属性,将相关属性值汇总写在同一行。当需要为同一个元素声明多项边框属性时可以使用border属性进行简写。属性值无规定顺序,彼此之间用空格隔开,如果其中某个属性没有规定可以省略不写。


边框的四个方向
border-top  : 上框线
border-right :右框线
border-bottom :下框线
border-left :左框线

border-radius
设置圆角边框,值表示圆角的水平半径
其值不允许取负值,为 0 则角为矩形,不再是圆角

外边距margin
Margin 属性值可以是长度值或百分比,包括可以使用负数。
内边距padding
元素的内边距也可以被理解为元素内容周围的填充物,因为内边距不影响当前元素与其他元素之间的距离,它只能用于增加元素内容与元素边框之间的距离。 padding 属性值可以是长度值或者百分比值,但是不可以使用负数。

浏览器对盒子的内外边距有一个默认的属性值,一般在布局网页时要对该默认值进行清零。

注意,属性的取值只有为0的时候才能省略单位,其他情况不能省略单位。

需要注意的是,只有普通块级元素的垂直外边距才会发生合并,如果是特殊情况例如浮动框、行内框或者绝对定位之间的外边距是不会发生合并的。


盒模型的大小

注意: width  和  height  分别表示 内容区域的宽度和高度 ,并不是一个盒子的大小。
盒模型的大小(宽度和高度)
宽度 = 左右外边距 + 左右内边距 + 左右边框宽度 + 内容宽度
高度 = 上下外边距 + 上下内边距 + 上下边框高度 + 内容高度

课后练习

前情提要:


应用CSS行内样式表

  • 网页标题:伪类的应用
  • html主体部分代码如下所示:

<body>

        <div>

            最近,在我遇到这样一个人后,我的想法改变了。我和两个已成年的女儿一起去了一家咖啡厅。但这家咖啡厅挤满了吵闹的人群,所以我们不得不爬上陡峭的楼梯才找到了空桌。在享用过咖啡和点心之后,我们走在陡峭的楼梯上准备下楼,在那样狭窄的空间里只能供一个人上下楼,几乎没有任何空间可以让另一个人爬上去或下来。

        </div>

        <div>

          <h2>学习CSS伪类选择符</h2>

                   <ul>

                <li>link:设置a标记在未访问前的样式</li>

                <li>hover:设置a标记在鼠标悬停时的样式</li>

                <li>active:设置a标记在被用户激活时的样式</li>

                <li>visited:设置a标记在被访问后的样式</li>

                <li>first-letter:设置第一个字符的样式</li>

                <li>first-line:设置第一行的样式</li>

                <li>first-child:设置第一个子标记的样式</li>

              </ul>

        </div>

    </body>

  • 使用外部样式表,为该html设置样式,新建一个css文件命名为”style1.css”,在该样式文件中实现以下样式的定义:
  • 为第一个div定义demo1,设置其样式为:1px的实线浅灰色边框;宽300px;内部边距为10px(padding:10px;);上下外边距为50px,左右外边距为自动(margin:50px auto;)
  • 为第一个div设置首字下沉的样式效果(为demo1类的:first-letter设置如下样式):字体加粗,大小2em,,字体颜色为红色,向左浮动(float:left);
  • 将第一个div中的第一行文字设置为红色(为demo1类的:first-line设置如下样式):字体颜色设置为红色。
  • 为第二个div定义demo2,设置其样式为:1px的实线浅灰色边框;宽350px;内部边距为10px(padding:10px;);上下外边距为10px,左右外边距为自动(margin:10px auto;)。
  • 为demo2下的h2设置样式:文本居中对齐。
  • demo2下的第一个li (li:first-child) 设置样式:字体大小1.2em;字体颜色为红色;字体加粗。

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>伪类的应用</title>
<link rel="stylesheet" href="CSS/style1.css">
</head>

<body> 
        <div class="demo1">
            最近,在我遇到这样一个人后,我的想法改变了。我和两个已成年的女儿一起去了一家咖啡厅。但这家咖啡厅挤满了吵闹的人群,所以我们不得不爬上陡峭的楼梯才找到了空桌。在享用过咖啡和点心之后,我们走在陡峭的楼梯上准备下楼,在那样狭窄的空间里只能供一个人上下楼,几乎没有任何空间可以让另一个人爬上去或下来。
        </div>
        <div class="demo2">
        	  <h2>学习CSS伪类选择符</h2>
              <ul>
              	<li>link:设置a标记在未访问前的样式</li>
                <li>hover:设置a标记在鼠标悬停时的样式</li>
                <li>active:设置a标记在被用户激活时的样式</li>
                <li>visited:设置a标记在被访问后的样式</li>
                <li>first-letter:设置第一个字符的样式</li>
                <li>first-line:设置第一行的样式</li>
                <li>first-child:设置第一个子标记的样式</li>
              </ul>
        </div>
</body> 

</html>

在浏览器中观察各种边框线的显示效果。


<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>border-style</title>
<style>
div{
	border-width:6px;  /*边框宽度为6px*/
	border-color:#000; /*边框颜色为黑色*/
	margin:20px;       /*外边距为20px*/
	padding:5px;       /*内边距为5px*/
	background-color:#ffc; /*淡黄色背景*/
}
</style>
</head>
<body>
	<div style="border-style:dashed">虚线边框</div>
    <div style="border-style:dotted">点线边框</div>
    <div style="border-style:double">双线边框</div>
    <div style="border-style:groove">凹槽边框</div>
    <div style="border-style:inset">凹边边框</div>
    <div style="border-style:outset">凸边边框</div>
    <div style="border-style:ridge">菱形边框</div>
    <div style="border-style:solid">实线边框</div>
</body>
</html>


使用border-radius属性制作圆角边框。

  • 网页body中的代码如下:

<body>

<div id="box1" class="box"></div>

<div id="box2" class="box"></div>

</body>

    • 使用内部样式表,分别定义box、box1、box2的样式:
    • 定义类box的样式为:宽100px,高100px,边框宽3px,边框颜色为#fd8e47,边框样式为实线边框。
    • 定义ID选择器box1的样式为:设置圆角边框的半径值为20px,上边框颜色为#f00,右边框的颜色为#00f,下边框的颜色为#ff0,左边框的颜色为#f90
    • 定义ID选择器box2的样式为:设置圆角边框的半径值为50px
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>圆角边框</title>
<style>
	.box{
		width:100px;
		height:100px;
		border:3px solid #fd8e47;
	}
	#box1{
		border-radius:20px;
		border-color:#f00 #00f #ff0 #f90;
	}
	#box2{
		border-radius:50px;
	}
</style>
</head>

<body>
<div id="box1" class="box"></div>
<div id="box2" class="box"></div>
</body>

</html>

网页标题:字体样式综合应用

  • html主体部分代码如下所示:

<body>

<h1>营销模式</h1>

<p>美家装饰营销团队成立于2010年,全力推广国内知名家居品牌。团队开创了“online-to-offline”结合的销售模式,是国内家居O2O模式的引领者。商城目前在全国共开设68家线下体验中心,为消费者提供一对一专属家居顾问式服务。</p>

<p>作为家居行业的标杆品牌,商城率先推出家居定制服务,为每一位消费者打开一扇个性化装饰之门。</p>

</body>

  • 使用内部样式表,为以上html设置如下样式:
    • 一级标题设置为:黑体,蓝色
    • 所有段落字体设置为:Arial, Helvetica, sans-serif;字体大小12pt
    • “美家装饰”设置样式:楷体,加粗;字体大小30px;红色
    • “家居”设置样式:字体粗600;大小为30px
    • “68”设置样式:字体粗600;大小为30px
    • 设置第二个段落p的字体显示为斜体
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>字体样式综合应用</title>
<style>
	h1{font-family:"黑体";
	color:blue;
	}
	p{
		font-family:Arial, Helvetica, sans-serif;
		font-size:12pt;
	}
	.text1{
		font-family:楷体;
		font-weight:bold;
		font-size:30px;
		color:red;
	}
	.text2{
		font-weight:600;
		font-size:30px;
	}
	.text3{
		font-style:italic;
	}
</style>
</head>

<body>
    <h1>营销模式</h1>
    <p><span class="text1">美家装饰</span>营销团队成立于2010年,全力推广国内知名<span class="text2">家居</span>品牌。团队开创了“online-to-offline”结合的销售模式,是国内家居O2O模式的引领者。商城目前在全国共开设<span class="text2">68</span>家线下体验中心,为消费者提供一对一专属家居顾问式服务。</p>
    <p class="text3">作为家居行业的标杆品牌,商城率先推出家居定制服务,为每一位消费者打开一扇个性化装饰之门。</p>
</body>

</html>

  • 为标题1增加灰色背景,设置其高度为60px,设置文本居中显示
  • 为段落p首行缩进两字符,行高为200%;
  • 在图中所示第二段文字的内容中插入图片“1.gif”,设置该图片与段落文字的垂直对齐方式为中部对齐。
  • 为文字“美家装饰”设置上划线;文字“家居”设置删除线;文字“68”设置下划线。
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>字体样式综合应用</title>
<style>
	h1{font-family:"黑体";
	color:blue;
	background-color:#CCC;
	height:60px;
	line-height:60px;
	text-align:center;
	}
	}
	p{
		font-family:Arial, Helvetica, sans-serif;
		font-size:12pt;
		text-indent:2em;
		line-height:200%
	}
	.text1{
		font-family:楷体;
		font-weight:bold;
		font-size:30px;
		color:red;
		text-decoration:overline;
	}
	.text2{
		font-weight:600;
		font-size:30px;
	}
	.text3{
		font-style:italic;
	}
	img{vertical-align:middle;}
</style>
</head>

<body>
    <h1>营销模式</h1>
    <p><span class="text1">美家装饰</span>营销团队成立于2010年,全力推广国内知名<span class="text2" style="text-decoration:line-through;">家居</span>品牌。团队开创了“online-to-offline”结合的销售模式,是国内家居O2O模式的引领者。商城目前在全国共开设<span class="text2" style="text-decoration:underline">68</span>家线下体验中心,为消费者提供一对一专属家居顾问式服务。</p>
    <p class="text3">作为家居行业的标杆品牌,<img src="images/1.gif">商城率先推出家居定制服务,为每一位消费者打开一扇个性化装饰之门。</p>
</body>

</html>

总结

1 盒模型简介

2 盒模型的属性

3 盒模型的大小

4 盒子的margin合并问题

希望你开心,希望你健康,希望你幸福,希望你点赞!

最后的最后,关注喵,关注喵,关注喵,佬佬会看到更多有趣的博客哦!!!

喵喵喵,你对我真的很重要!

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

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

相关文章

LDO版图后仿性能下降

记录一下LDO&#xff0c;debug 问题1&#xff1a; LDO后仿输出电压下降&#xff0c;前仿输出1.8V&#xff0c;后仿却输出只有1.58V。 解决办法&#xff1a; 功率管的走线问题&#xff0c;布线太少&#xff0c;存在IR drop问题。功率管的面积比较大&#xff0c;需要横竖都多…

解决Linux中文乱码、字体横向问题

解决Linux中文乱码问题 1、locale --查看当先系统编码集 2、echo $LANG --查看当前使用的语言 3、vim ~/.bash_profile --修改配置文件 4、加入以下语句 export LC_ALL"zh_CN.UTF-8" export LANG"zh_CN.UTF-8" 5、source ~/.bash_profile --更新配置文…

docker 安装elasticsearch集群

准备工作 docker 安装好&#xff0c;docker compose 安装好编辑好docker-compose.yml文件&#xff08;本文会提供&#xff09;生成elastic-certificates.p12密钥&#xff0c;与docker-compose文件在同一个目录&#xff08;本文会介绍生成方式&#xff09;准备elasticsearch配置…

Unittest单元测试之unittest用例执行顺序

unittest用例执行顺序 当在一个测试类或多个测试模块下&#xff0c;用例数量较多时&#xff0c;unittest在执行用例 &#xff08;test_xxx&#xff09;时&#xff0c;并不是按从上到下的顺序执行&#xff0c;有特定的顺序。 unittest框架默认根据ACSII码的顺序加载测试用例&a…

钢铁ERP系统有哪些?钢铁ERP软件哪家好用

不同的钢铁材料有差异化的产成品&#xff0c;而这些成品又有多元化的营销策略和制造工艺&#xff0c;每道生产工艺存在差异化的管理方式与策略&#xff0c;而不同的销售策略对应多样化的价格机制等&#xff0c;繁多的业务数据采集和分析工作量较大。 近些年制造工艺的变革也促…

线性表——(3)线性表的链式存储及其运算的实现

一、前言&#xff1a; 由于顺序表的存储特点是用物理上的相邻关系实现逻辑上的相邻关系&#xff0c;它要求用连续的存储单元顺序存储线性表中各数据元素&#xff0c;因此&#xff0c;在对顺序表进行插入、删除时&#xff0c;需要通过移动数据元素来实现&#xff0c;这影响了运行…

Java 线程同步和通信

Android 11 废弃了AsyncTask 线程 Thread: 通过start 开启 源码: start0 native方法 通过虚拟机跟操作系统交互 进程和线程区别: 进程是操作系统的独立区域,各个区域互不干扰,一个进程可以有多条线程同时工作,进程大于线程,线程依赖进程,线程间可以共享资源 Runnable: 接口…

利用 FormData 实现文件上传、监控网路速度和上传进度

利用 FormData 实现文件上传 基础功能&#xff1a;上传文件 演示如下&#xff1a; 概括流程&#xff1a; 前端&#xff1a;把文件数据获取并 append 到 FormData 对象中后端&#xff1a;通过 ctx.request.files 对象拿到二进制数据&#xff0c;获得 node 暂存的文件路径 前端…

用 LangChain 搭建基于 Notion 文档的 RAG 应用

如何通过语言模型查询 Notion 文档&#xff1f;LangChain 和 Milvus 缺一不可。 在整个过程中&#xff0c;我们会将 LangChain 作为框架&#xff0c;Milvus 作为相似性搜索引擎&#xff0c;用二者搭建一个基本的检索增强生成&#xff08;RAG&#xff09;应用。在之前的文章中&a…

华为电视盒子 EC6108V9C 刷机成linux系统

场景&#xff1a; 提示&#xff1a;这里简述项目相关背景&#xff1a; 家里装宽带的时候会自带电视盒子&#xff0c;但是由于某些原因电视盒子没有用&#xff0c;于是就只能摆在那里吃土&#xff0c;闲来无事&#xff0c;搞一下 问题描述 提示&#xff1a;这里描述项目中遇到…

[FC][常见Mapper IRQ研究]

本次IRQ研究了如下: VRC2&4(Mapper21,23,25) VRC3(Mapper73) VRC6(Mapper24 & Mapper26) VRC7(Mapper85) MMC3(Mapper4) MMC4(Mapper10) MMC5(Mapper5) Mapper18 Mapper64 Namco163(Mapper19) Sunsoft FME-7(Mapper69) 共计11种Mapper的IRQ操作使用例子 代码内有详细注…

【CANoe】CANoe工具使用-实现CAN通道的收、发、录、回放报文

目录 资源及目标 1. 配置工程 1.1 新建配置工程 1.2 配置两路CANoe虚拟通道 1.3配置CAN通道参数 1.3.1 配置CAN1类型&#xff08;标准CAN或者CANFD&#xff09;&#xff0c;以及波特率&#xff08;CANFD需要配置数据场和仲裁场两个段的波特率&#xff09; 1.3.2配置CAN1…

电梯安全远程监控系统解决方案

一、方案背景 随着万丈高楼的平地起&#xff0c;电梯也成为了我们出入高层建筑最常用的工具之一。面对电梯数量的不断增加&#xff0c;电梯安全事故也是相继频发&#xff0c;因此关于电梯的安全运行就越来越受到社会各界的关注。电梯的使用在给人们出入高层建筑带来便利的同时&…

Normalizing Kalman Filters for Multivariate Time Series Analysis

l l l means latent state&#xff0c;LGM means ‘linear Gaussian state space models’ 辅助信息 作者未提供代码

高端网站设计公司 -蓝蓝设计数据可视化大屏服务

UI设计公司-蓝蓝设计&#xff08;北京兰亭妙微科技有限公司&#xff09;是一支由清华美院毕业的专业团队组成的设计公司。我们的设计师们在大屏科研信息软件UI设计领域拥有多年的工作经验和丰富的行业知识。我们对设计充满热爱&#xff0c;设计不仅是我们的专业和职业&#xff…

五、ZooKeeper的shell操作

目录 1、客户端连接 2、shell基本操作 2.1 操作命令

2023-12-02 LeetCode每日一题(拼车)

2023-12-02每日一题 一、题目编号 1094. 拼车二、题目链接 点击跳转到题目位置 三、题目描述 车上最初有 capacity 个空座位。车 只能 向一个方向行驶&#xff08;也就是说&#xff0c;不允许掉头或改变方向&#xff09; 给定整数 capacity 和一个数组 trips , trip[i] …

【SpringBoot3+Vue3】七【后续2】【番外篇】- (使用docke部署)

目录 一、maven打包后端服务 1、clean 2、package 3、查看jar包 二、部署java后端服务 1、使用dockerfile构建一个java17的镜像 1.1 使用dokcerfile构建容器命令 1.2 方式一 将jar打包进容器镜像 1.3 方式二 jar不打包进容器镜像&#xff0c;通过映射主机目录映射方式…

【数字图像处理】边缘检测

边缘检测是一种图像处理技术&#xff0c;用于在图像中识别和提取物体边缘的信息&#xff0c;广泛应用于计算机视觉和图像分析领域。本文主要介绍数字图像边缘检测的基本原理&#xff0c;并记录在紫光同创 PGL22G FPGA 平台的布署与实现过程。 目录 1 边缘检测原理 2 FPGA 布署…

持续集成交付CICD:GitLabCI 运行前后端项目

目录 一、理论 1.spring项目自动构建 2.阿里云云效 Maven 3.Maven安装 4.Go安装 5.NPM安装 二、实验 1.GitLabCI 运行Maven项目 2.GitLabCI 运行Go项目 3.GitLabCI 运行NPM项目 三、问题 1.前端脚手架如何初始化项目 2.NPM下载如何指定 3.Go项目下载源如何指定 …