HTML三大布局方式

这篇具有很好参考价值的文章主要介绍了HTML三大布局方式。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

欢迎使用Markdown编辑器

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

一、浮动布局 (float布局)

使用浮动来完成左中右三栏布局
float:left----左浮动
float:right----右浮动
注意:使用float浮动时,margin:0px auto;使块元素居中将会失效。

代码示例

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<style type="text/css">
			#box{
				width: 700px;
				background-color: skyblue;
			}
			#box>div{
				width: 200px;
				height: 200px;
				line-height: 200px;
				text-align: center;
			}
			.left{
				background-color: orange;
				float: left;
			}
			.right{
				background-color: deeppink;
				float: right;
			}
			.center{
				background-color: yellow;
				margin: 0px auto;
			}
		</style>
	</head>
	<body>
		<div id="box">
			<div class="left">div1</div>
			<div class="right">div2</div>
			<div class="center">div3</div>
		</div>
		
	</body>
</html>

HTML三大布局方式
当我们给div3也加上一个浮动属性时

.center{
	background-color: yellow;
	margin: 0px auto;
	float:right
}

HTML三大布局方式
这时我们可以看到,整个盒子box的天蓝色背景色会消失,这是为什么呢?
注意:float浮动属性会使元素脱离文档流。所以当我们把一个父级元素下的子元素全部设置float浮动属性时,如果父级元素没有设置固定高度,则会造成父级元素塌陷。

清除浮动的三种方式。
1、 clear:both; 清楚两边浮动

.center{
	background-color: yellow;
	margin: 0px auto;
	float:right;
	clear:both;

2、 overflow:hidden; 溢出隐藏。
3、 在尾部添加一个div

<div id="box">
	<div class="left">div1</div>
	<div class="right">div2</div>
	<div class="center">div3</div>
	<div></div>
</div>

二、position 定位布局

注意:给元素设置了定位属性,也会使这个元素脱离文档流。
定位有四个属性,分别是 top 上 bottom下 left 左 right 右。

1. 相对定位

position:relative; 相对定位是根据自身在页面中的位置来进行上下左右移动定位的。

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<style type="text/css">
			#box{
				width: 600px;
				height: 600px;
				background-color: skyblue;
			}
			.div1{
				width: 200px;
				height: 200px;
				line-height: 200px;
				text-align: center;
				background-color: orange;
			}
			
		</style>
	</head>
	<body>
		<div id="box">
			<div class="div1">div1</div>
		</div>
		
	</body>
</html>

HTML三大布局方式
设置了相对定位后,div1就会根据自身现在所在的位置移动

.div1{
	width: 200px;
	height: 200px;
	line-height: 200px;
	text-align: center;
	background-color: orange;
	position:relative;
	top:100px;
	left:100px;
}

HTML三大布局方式

2.绝对定位 absolute

关于绝对定位有个通用的说法 “子绝父相”。即给元素设置了绝对定位,就要在父级元素上设置一个相对定位,如果父级元素上找不到相对定位,那这个元素就会根据浏览器窗口的位置来进行定位。

父级元素不设置相对定位,代码和效果如下

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<style type="text/css">
			#box{
				width: 600px;
				height: 600px;
				background-color: skyblue;
				margin: 0 auto;
			}
			.div1{
				width: 200px;
				height: 200px;
				line-height: 200px;
				text-align: center;
				background-color: orange;
				position:absolute;
				top:100px;
				left:100px;
			}			
		</style>
	</head>
	<body>
		<div id="box">
			<div class="div1">div1</div>
		</div>	
	</body>
</html>

HTML三大布局方式
我们再给父级元素一个相对定位,则div1就会根据这个父级盒子来进行定位

#box{
	width: 600px;
	height: 600px;
	background-color: skyblue;
	margin: 0 auto;
	position: relative;
}

HTML三大布局方式

3. 固定定位 fixed
fixed 固定定位就比较好理解了,顾名思义,固定定位就是将一个元素固定在页面当中的某一个位置上,不管页面滚动条如何移动,这个元素的位置都不会改变。
固定定位是根据浏览器可视窗口来进行固定的。就相当于页面当中出现的小广告位置一样。

.div1{
	width: 200px;
	height: 200px;
	line-height: 200px;
	text-align: center;
	background-color: orange;
	position:fixed;
	bottom: 200px;
	right: 100px;
}

HTML三大布局方式
4. z-index属性
定位元素还有一个z-index属性,因为我们的定位元素已经脱离了文档流,那么当有多个元素在同一个位置时,就需要用z-index属性来设置堆叠的层次了。z-index属性,谁的值大谁就在最上面。

.orange{
	background-color: orange;
	z-index: 1;
	position: absolute;
	left: 100px;
}
.yellow{
	background-color:yellow;
	z-index: 2;
	position: absolute;
	top: 100px;
	left: 150px;
}
.skyblue{
	background-color: skyblue;
	z-index: 3;
	position: absolute;
	top: 200px;
	left: 200px;
}

HTML三大布局方式

注意:未使用定位属性的元素设置z-index是无效的哦。

三 、flex 弹性布局

弹性布局:在父级元素设置display:fkex;弹性布局属性,可以使子元素弹性伸缩。
注意:设为 Flex 布局以后,子元素的float、clear和vertical-align属性将失效。

任何一个被设置为弹性布局的容器会有两条抽象的轴(X,Y轴),弹性布局的容器的有以下属性文章来源地址https://www.toymoban.com/news/detail-453961.html

  • flex-direction 决定项目主轴(X轴)的排列方向
    row 主轴方向从左到右排列,主轴为横向轴
    row-reverse 主轴方向从右到左排列
    column 主轴为纵向纵
    column-reverse 交叉轴上从下往上排列
    flex-wrap 所有项目如何被包裹
    nowarp  不换行(列),项目的宽高会变化
    wrap 换行(列),溢出会顺序换行
    wrap-reverse 反向排列
    flex-flow 属性是flex-direction属性和flex-wrap属性的简写形式,默认值为row nowrap
    justify-content 属性定义了项目在主轴(X轴)上的对齐方式。
    flex-start(默认值):左对齐
    flex-end:右对齐
    center: 居中
    space-between:两端对齐,项目之间的间隔都相等。
    space-around:每个项目两侧的间隔相等。所以,项目之间的间隔比项目与边框的间隔大一倍。
    align-items 属性定义项目在交叉轴(Y轴)上如何对齐
    flex-start:交叉轴的起点对齐。
    flex-end:交叉轴的终点对齐。
    center:交叉轴的中点对齐。
    baseline: 项目的第一行文字的基线对齐。
    stretch(默认值):如果项目未设置高度或设为auto,将占满整个容器的高度。

到了这里,关于HTML三大布局方式的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 前端必备14款业界受欢迎的富文本编辑器

    基于JavaScript和css开发的 Web富文本编辑器, 轻量、简洁、开源免费。 一个轻量级的基于浏览器的所见即所得编辑器,由JavaScript写成。 由百度web前端研发部开发所见即所得富文本web编辑器,可定制,注重用户体验等特点,开源基于MIT协议,允许自由使用和修改代码。 一套开源

    2024年02月15日
    浏览(51)
  • Markdown编辑器

    你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。 我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你

    2024年02月02日
    浏览(47)
  • Markdown编辑器 测试

    测试一下@TOC 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。 我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新

    2024年02月06日
    浏览(89)
  • Linux | 人生苦短,我用Vim【最受欢迎的编辑器】

    Vim 是从 vi 发展出来的一个文本编辑器。 代码补全、编译及错误跳转 等方便编程的功能特别丰富,在程序员中被广泛使用,和【Emacs】并列成为类Unix系统用户最喜欢的文本编辑器 对于vim来说,不同的是vim是vi的 升级版本 ,它不仅兼容vi的所有指令,而且 还有一些新的特性在

    2024年01月19日
    浏览(38)
  • React markdown 编辑器

    react-markdown 是一款 github 上开源的适用于 react 的 markdown 组件,可以基本实现 markdown 的功能,且可以根据自己实际应用定制的 remark 组件。 或者: 或者: 或者: 或者: 或者: 或者: 组件涉及的依赖及版本 package.json : for-editor : markdown 编辑器 react-markdown : markdown 内容预览

    2024年02月13日
    浏览(46)
  • Avalonia开发Markdown编辑器

    今天熟悉Avalonia UI,做一个Markdown的文本编辑器。 代码我上传了Github,地址: https://github.com/raokun/AvaloniaMarkdown.git 我使用开发工具的是visual studio 2022 preview ,上一篇博客已经写过了SDK的安装和基础项目的创建,需要了解的可以跳转查看: 创建Avalonia 模板项目-基础 由于Avaloni

    2024年02月11日
    浏览(41)
  • VUE2.0集成 Markdown 编辑器

    Markdown编辑器的使用 这是一款基于Vue的markdown编辑器。既可以用来编辑Markdown语法,又可以用来解析 效果图,mavonEditor实现了Markdown集成 Markdown是一种标记语言,相较于word文档更加清晰方便,适合进行笔记等。将Markdown集成进入自己项目之后,就可以在项目中使用的Markdown编辑器

    2024年02月10日
    浏览(88)
  • asp.net MVC markdown编辑器

    在 ASP.NET MVC 中,你可以使用一些第三方 Markdown 编辑器来让用户在网页上方便地编辑和预览 Markdown 内容。这些编辑器通常提供实时预览功能,将 Markdown 文本转换为实时渲染的 HTML,并支持编辑器工具栏来辅助用户编辑。 以下是一些流行的 ASP.NET MVC Markdown 编辑器: Editor.md :

    2024年02月15日
    浏览(44)
  • 推荐几款主流好用的markdown编辑器

    随着技术的不断发展和人们对效率的追求,Markdown 编辑器已经成为了许多人写作的首选工具。Markdown 是一种轻量级的标记语言,使用简单,方便快捷,且可以方便地转换成各种格式的文件。在这篇文章中,我们将介绍几款常用的 Markdown 编辑器,并分析它们的优缺点。 1、VS

    2024年02月11日
    浏览(62)
  • HTML——实现富文本编辑器wangEditor的使用

    背景:最近在写小说项目,关于发布文章需要用到富文本编辑器,由于还没学到Vue,最实用的还是用wangEditor富文本编辑器。 官方文档:http://www.wangeditor.com/ 使用手册:创建一个编辑器 · wangEditor3使用手册 · 看云 (kancloud.cn) 至于实现的方式有三种: 一.导入wangEditor.JS 使用方法

    2024年02月11日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包