html中css的布局

文档流

所谓文档流就是按照元素的顺序从左到右、由上而下的方式排列。

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<style>
		img{
			width:400px;
			height: 100px;
		}
	</style>
	<body>
		<img />
		<img />
		<img />
		<img />
		<img />
		<img />
		<img />
	</body>
</html>

定位

默认的文档流很多时候不能满足我们的布局要求,需要更丰富的布局手段,这就需要用到定位了。
定位方式有:static、fixed、relative、absolute。
static 静态定位(默认)
无定位,元素正常出现了流(文档流)中,不受left、right、top、bottom属性的影响。
relative 相对定位
代码:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title></title>
</head>
<style>
    div{
        width: 200px;
        height: 200px;
    }
    .div1{
        background-color: green;
    }
    .div2{
        position: relative;
        background-color: yellow;
        left: 50px;
        bottom: 100px;
    }
    .div3{
        background-color: red;
    }
</style>
<body>
<div class="div1"></div>
<div class="div2"></div>
<div class="div3"></div>
</body>
</html>

显示效果:
在这里插入图片描述

absolute 绝对定位

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title></title>
</head>
<style>
    div{
        width: 200px;
        height: 200px;
        border: 1px black solid;
        position: relative;
    }
    #div21{
        background-color: green;
    }
    #div22{
        background-color: yellow;
        position: absolute;
        top:20px;
        left:30px;
    }
    #div23{
        background-color: red;
    }
</style>
<body>
<div id="div1"></div>
<div id="div2">
    <div id="div21"></div>
    <div id="div22"></div>
    <div id="div23"></div>
</div>
</body>
</html>

显示效果:
在这里插入图片描述

fixed固定定位
将上例中div22的绝对定位(absolute)改成固定定位(fixed),显示效果如下:
在这里插入图片描述

z-index
重新定位之后可能会出现重叠,通过z-index可以调整其顺序。z-index默认值为auto,即与父元素相同,可以设置为数值,数值大的层位于相对小的上方。
上例中div1被div22覆盖了,如果将div1的z-index设置为1(大于div22,其默认为auto)

#div1{
    background-color: orange;
    z-index: 1;
}

定位总结
(1)标准文档流按照从左到右、自上而下的方式依次排列元素。若要改变默认布局方式则需使用relative、absolute、fixed等定位方式;
(2)relative是相对于其原有位置进行偏移;
(3)absolute是相对于其父容器进行偏移,注意其父容器必须是有定位的,即非默认(static)定位方式,否则会一直往上追溯,直到页面;
(4)fixed是相对于整个页面进行偏移

浮动

通过设定浮动(float),可以使得元素从原本的文档流中脱离出来,感觉像浮在原本的文档流上面
案例:
在这里插入图片描述

代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>浮动案例</title>
</head>
    <style>
        .div1{
            width: 624px;
            height: 626px;
            background-color: #86d0ea;
            position: relative;

        }
        .div2{
            position: absolute;
            width: 624px;
            height: 376px;
            top: 124px;
            background-color: #c0c0c0;
        }
        .div3{
            width: 376px;
            height: 376px;
            background-color: #adff2f;
            float: left;
            margin-left: 125px;
        }
    </style>
<body>
        <div class="div1"></div>
        <div class="div2">
            <div class="div3"></div>
        </div>
</body>
</html>
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
HTMLCSS布局是用来定义和排列网页元素的方式。根据引用,HTMLCSS布局方式可以分为以下几种:浮动布局、定位布局、flex布局、table-cell表格布局、网格布局。 浮动布局是通过设置元素的浮动属性来实现元素的排列。通过设置元素的float属性为left或right,可以使元素脱离文档流并浮动在其他元素的周围。 定位布局是通过设置元素的position属性来实现元素的精确定位。通过设置元素的position属性为absolute或relative,再结合top、right、bottom、left属性,可以将元素放置在指定的位置。 flex布局是一种弹性盒模型布局,通过设置容器和其的元素的flex属性来实现自适应和自动调整布局。通过设置容器的display属性为flex,可以将容器内的元素以一定的规则进行排列。 table-cell表格布局是通过将元素的display属性设置为table-cell,使元素像表格单元格一样排列。这种布局方式适合于需要等高的列布局。 网格布局是一种二维布局系统,通过设置容器的display属性为grid,然后使用grid-template-columns和grid-template-rows属性来定义行和列的大小和数量,可以实现复杂的网格布局。 根据引用的代码示例,可以看到通过设置元素的position属性为relative和absolute,以及使用精灵图和定位的方式,可以实现元素的精确定位和布局。 根据引用的代码示例,可以看到通过设置元素的display属性为grid,以及使用grid-template-columns和grid-template-rows属性,可以实现网格布局。 综上所述,HTMLCSS布局提供了多种方式来实现网页元素的排列和布局,开发者可以根据需求选择合适的布局方式来实现自己的设计。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [html+css布局](https://blog.csdn.net/sh2001824/article/details/125998713)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [html+css页面布局](https://blog.csdn.net/qq_42108313/article/details/119954472)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值