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

news2024/9/23 21:26:10

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

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

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

目录

前言

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合并问题

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

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

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

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

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

相关文章

Jupyter Notebook中设置Cell主题

1. 获取本机Jupyter的配置目录 C:\Users\Administrator>jupyter --data-dir C:\Users\Administrator\AppData\Roaming\jupyter2. 进入获取的目录&#xff0c;创建指定路径 C:\Users\Administrator>cd C:\Users\Administrator\AppData\Roaming\jupyter C:\Users\Adminis…

机器学习实验二:决策树模型

系列文章目录 机器学习实验一&#xff1a;线性回归机器学习实验二&#xff1a;决策树模型机器学习实验三&#xff1a;支持向量机模型机器学习实验四&#xff1a;贝叶斯分类器机器学习实验五&#xff1a;集成学习机器学习实验六&#xff1a;聚类 文章目录 系列文章目录一、实验…

kafka 3.x 学习笔记

kafka 3.x 学习笔记 在 kafka 2.8.0 版本之前&#xff0c;安装使用 kafka 需要配套安装 zookeeper&#xff0c;但在 2.8.0 版本之后&#xff0c;不再需要安装 zookeeper&#xff0c;本次学习笔记采用的 kafka 版本为 3.0.0。 文章目录 kafka 3.x 学习笔记一、kafka 定义1 什么是…

学习Opencv(蝴蝶书/C++)——4.图形和大型数组类型(上)

文章目录 1. cv::Mat类的成员变量1.1 flags1.2 cv::Mat::step2 存储方式,存储位置计算2.1 存储方式2.2 🌈存储位置计算2.2.1 基本计算公式2.2.1 step代码说明2.2.3 内存地址计算代码说明3 创建数据3.0 Mat的构成3.0.1 3.0版本之后的Mat3.0.2 cvMat3.1 构造函数3.2 🌈构造函…

Tomcat的启动关闭及日志说明

目录 1 启动Tomcat 1.1 启动 1.2 检查Tomcat启动是否正常 1.3 浏览器访问 2 关闭Tomcat 3 Tomcat日志说明 3.1 catalina.out 3.2 localhost.[日期].log 3.3 host-manager.[日期].log 3.4 manager.[日期].log 3.5 localhost_access_log.[日期].txt 1 启动Tomcat 1.1 启动 在…

Centos7.4安装nginx1.24.0_安装详细步骤---Linux工作笔记066

以前安装的太模糊了,干脆重新写一个: 1.首先下载对应的nginx-1.24.0.tar.gz安装文件 2.然后: 去执行命令 安装依赖 yum install -y gcc yum install -y pcre pcre-devel yum install -y zlib zlib-devel yum install -y openssl openssl-devel 3.然后:去解压 tar -zxvf ngi…

自动采集发布,轻松博客运营——Zblog插件指南

我们是否常常为找不到合适的文章而烦恼&#xff1f;是不是每次写作都要花费大量时间在查找资料上&#xff1f;对于将内容创作作为长期工作来说&#xff0c;保持话题新颖&#xff0c;素材内容充实是很有必要的&#xff0c;ZBlog采集插件可以将这些问题都将化繁为简。 ZBlog是什么…

前端项目中CDN的一些问题【性能优化篇】

1. CDN的概念 CDN&#xff08;Content Delivery NetWork&#xff0c;内容分发网络&#xff09;&#xff0c;是指利用最靠近每位用户的服务区&#xff0c;更快的将资源发送给用户。 提高用户的访问速度减轻服务器压力提高网站的稳定性和安全性 2. CDN的作用 CDN一般用来托管…

GaussDB数据库SQL系列-序列的使用

目录 一、前言 二、GaussDB数据库中的序列 1、语法(CREATE SEQUENCE) 2、注意事项 三、GaussDB数据库中的示例 1、示例一&#xff1a;创建普通序列 2、示例二&#xff1a;创建与表关联的序列 四、小结 一、前言 在数据库管理中&#xff0c;序列&#xff08;SEQUENCE&a…

前端开发者眼中的Node.js未来发展趋势

前言 随着互联网的高速发展&#xff0c;前端开发领域的技术也在不断演进&#xff0c;各种各样的前端技术日新月异&#xff0c;前端框架也是层出不穷。在这个变化的过程中&#xff0c;Node.js作为一种强大的服务器端运行环境&#xff0c;已经成为前端开发者的重要技术之一&#…

netty源码:(4)ServerBootstrap

ServerBootstrap的group方法用来给成员变量赋值&#xff0c;如下图 AbstractBootstrap为ServerBootstrap的父类。 ServerBootstrap的channel方法用来设置channelFactory成员变量(在父类AbstractBootstrap里&#xff09; ServerBootstrap的childHandler方法用来给本类的成员…

MySQL笔记-第05章_排序与分页

视频链接&#xff1a;【MySQL数据库入门到大牛&#xff0c;mysql安装到优化&#xff0c;百科全书级&#xff0c;全网天花板】 文章目录 第05章_排序与分页1. 排序数据1.1 排序规则1.2 单列排序1.3 多列排序 2. 分页2.1 背景2.2 实现规则2.3 拓展 第05章_排序与分页 讲师&#…

HNU-电路与电子学-2021期末A卷(不含解析)

【写在前面】 电路与电子学好像是从2020级开设的课程&#xff0c;故实际上目前只有2020与2021两个年级考过期末考试。 本份卷子的参考性很高&#xff0c;这是2020级的期末考卷。题目都是很典型的&#xff0c;每一道题都值得仔细研究透。 特别注意&#xff1a;看得懂答案跟写得…

【C++】map和set的使用及注意事项

map和set的使用及注意事项 1.关联式容器2. 键值对3.set3.1接口介绍3.1.1构造3.1.2迭代器3.1.3容量3.1.4修改 3.2set使用及注意事项 4.multiset5.map6.multimap349. 两个数组的交集 1.关联式容器 在初阶阶段&#xff0c;我们已经接触过STL中的部分容器&#xff0c;比如&#xf…

【EI会议征稿中】2024年第四届数字信号与计算机通信国际学术会议(DSCC 2024)

2024年第四届数字信号与计算机通信国际学术会议&#xff08;DSCC 2024&#xff09; 2024 4th International Conference on Digital Signal and Computer Communications 第四届数字信号与计算机通信国际会议(DSCC 2024)将于2024年4月12日至14日在中国-香港举行。DSCC 2024旨…

什么是Amazon Lambda(无服务器计算服务)

Lambda 在高可用性计算基础设施上运行代码&#xff0c;用于执行计算资源的所有管理工作。这包括服务器和操作系统维护、容量调配和弹性伸缩、代码和安全补丁部署以及代码监控和日志记录。您只需要提供代码。 最近亚马逊云服务提供了超多免费的云服务&#xff0c;快来领取免费套…

Shein、Temu拓荒背后,中国快递业“卷”向海外

【潮汐商业评论/原创】 在中国互联网行业&#xff0c;软银创始人孙正义有一个耳熟能详的“时光机理论”&#xff0c;意思是充分利用不同国家和行业之间发展的不平衡&#xff0c;在发达市场获取经验&#xff0c;然后利用这些经验去开发落后的市场。从发达市场到落后市场的穿越&…

人体姿态估计算法

人体姿态估计算法 1 什么是人体姿态估计2 基于经典传统和基于深度学习的方法2.1 基于经典传统的人体姿态估计算法2.2 基于深度学习的人体姿态估计算法OpenPoseAlphaPose (RMPE) 3 算法应用4 Paper 人体姿态估计在现实中的应用场景很丰富&#xff0c;如下 动作捕捉&#xff1a;三…

小程序开发

1.准备工作 1.注册公众平台账号&#xff08;免费&#xff09;2.下载小程序开发工具&#xff08;免费&#xff09; 2.开发步骤 1.第一个小程序 1.小程序的AppID相当于小程序平台的一个身份证&#xff0c;这里使用的是测试号&#xff08;注意区别于服务号或订阅号的AppID&#xf…

浪潮信息KeyarchOS——保卫数字未来的安全防御利器

浪潮信息KeyarchOS——保卫数字未来的安全防御利器 前言 众所周知&#xff0c;目前流行的操作系统有10余种&#xff0c;每一款操作系统都有自己的特点。作为使用者&#xff0c;我们该如何选择操作系统。如果你偏重操作系统的安全可信和稳定高效&#xff0c;我推荐你使用浪潮信…