第九章 DIV+CSS布局

9.1 DIV+CSS概述

9.1.1 认识DIV 


在HTML中,<div>(division的缩写)是一个块级元素,用于组织和布局页面内容。<div>元素本身不带有具体的语义含义,它通常用作一个容器,以便通过CSS来应用样式。通过将<div>元素与其内容一起,可以创建页面的结构区块,如页眉、页脚、侧边栏、内容区域等。 

<div>元素的基本语法格式如下:

<div class="classname">
  <!-- 这里是div的内容 -->
</div>
<!DOCTYPE html>
<html>
 
<head>
    <meta charset="UTF-8">
    <title>Div标签示例</title>
</head>
 
<body>
    <div style="background-color: lightblue; padding: 20px; border: 1px solid gray;">
        这是一个div标签内的内容。
    </div>
</body>
 
</html>

9.1.2 DIV的宽高设置 


9.1.2.1 宽高属性


在CSS中,用于设置<div>宽高的主要属性是width和height。

width:定义<div>元素的宽度。可以使用绝对单位(如px - 像素),例如width: 200px;表示将<div>的宽度设置为200像素;也可以使用相对单位(如% - 百分比),像width: 50%;就是设置<div>的宽度为其父元素宽度的50%。
height:用于确定<div>元素的高度,单位的使用和width类似。不过需要注意的是,当内容的高度超过设置的高度时,可能会出现内容溢出的情况,这时候可能需要结合overflow属性来处理。

9.1.2.2 div标签内直接设置宽高

可以直接在<div>标签内部使用style属性来设置宽高。例如:

<div style="width: 300px; height: 200px;">
  这里是div中的内容。
</div>

这种方式虽然简单直接,但在实际项目中如果大量使用会使HTML代码变得臃肿,不利于代码的维护和复用,而且将样式和结构混合在一起不符合良好的代码编写规范。

<!DOCTYPE html>
<html>
 
<head>
    <meta charset="UTF-8">
    <title>Div宽高设置示例</title>
</head>
 
<body>
    <div style="width: 300px; height: 200px; background - color: yellow; border: 1px solid black;">
        这个div有指定的宽和高。
    </div>
</body>
 
</html>

9.1.2.3 div使用选择器设置宽高

这是在实际项目中更为推荐的方式。首先在HTML中给<div>元素添加类名或者ID,然后在CSS文件中使用相应的选择器来设置宽高。

  • 类选择器:如果HTML中有<div class="box">,在CSS中可以这样设置宽高:
    .box {
      width: 400px;
      height: 300px;
    }

    ID选择器:对于<div id="mainDiv">,CSS中设置如下:

    #mainDiv {
      width: 500px;
      height: 400px;
    }

    使用选择器的方式将样式和结构分离,便于管理和维护代码,并且可以方便地对多个具有相同类名的<div>元素进行统一的样式设置

    例:

    9.1.2.4 div高度的百分比设置问题

    当设置<div>高度为百分比时,需要注意它是相对于父元素的高度来计算的。如果父元素的高度没有被明确定义(例如父元素的高度为auto),那么子<div>元素设置的百分比高度可能无法按预期显示。例如:

    <div style="height: 300px;">
      <div style="height: 50%;">
        这个子div的高度设置为父div高度的50%。
      </div>
    </div>

    在这个例子中,因为父<div>的高度被设置为300px,所以子<div>的高度为150px。但如果父<div>没有设置高度,子<div>的百分比高度可能就不会生效,除非父元素的高度能够通过其他方式(如内容撑开或者其他布局属性)被确定。

    9.2 DIV+CSS的应用

    9.2.1 DIV元素的布局技巧


  • 在使用DIV元素进行网页布局时,有几种常用的技巧可以提高布局的灵活性和效率。例如,可以使用浮动(float)属性来实现元素的水平布局,使用定位(position)属性来进行绝对或相对定位,以及使用负外边距(margin)来微调元素的位置。此外,利用盒模型的概念,可以通过调整内容(content)、内边距(padding)、边框(border)和外边距(margin)来控制DIV的最终外观和位置. 

    例:

    9.2.2 DIV元素的宽度自适应


  • 为了使DIV元素的宽度能够根据内容自适应,可以设置DIV的width属性为auto或者使用min-width和max-width属性来限制宽度的范围。在某些情况下,可以使用fit-content值来确保DIV的宽度恰好匹配其内容的宽度,防止内容换行.

    例:

    9.2.3 DIV内容的居中


  • DIV内容的居中可以通过多种CSS技术实现。使用Flexbox布局,可以通过设置justify-content和align-items属性来轻松实现水平和垂直居中。另外,使用Grid布局,可以通过place-items属性来实现同样的居中效果。对于内联元素或设置了display: inline-block的元素,可以通过设置其父元素的text-align属性为center来实现水平居中. 

    例:

    9.2.4 DIV元素的嵌套


  • DIV元素可以相互嵌套,以创建更复杂的布局结构。嵌套布局允许开发者将页面分割成多个区块,并对这些区块进行独立的样式和行为控制。在嵌套时,应当注意内外层DIV的定位上下文和浮动行为,以免造成意外的布局问题. 

    在应用DIV+CSS进行网页布局时,应当考虑到响应式设计的需求,使用媒体查询(Media Queries)来适配不同屏幕尺寸,以及利用现代布局技术如Flexbox和Grid来提高布局的灵活性和维护性。

    例:

    <!DOCTYPE html>
    <html>
    	<head>
    		<meta charset="utf-8">
    		<title>示例9.10程序(DIV元素的嵌套)</title>
    		<style>
    			.all{
    				width: 700px;
    				height: 700px;
    				border: 2px solid red;
    				margin: 0px auto;
    			}
    			.top{
    				width: 700px;
    				height: 100px;
    				background-color: lightcyan;
    				}
    			.main{
    				width: 700px;
    				height: 520px;
    			}
    			.main .left{
    				width: 180px;
    				height: 500px;
    				background-color: yellow;
    				float: left;
    				margin: 10px;
    			}
    			.main .right{
    				width: 480px;
    				height: 500px;
    				background-color: lightgreen;
    				float: left;
    				margin: 10px;
    			}
    			.footer{
    				width: 700px;
    				height: 80px;
    				background-color: lightgrey;
    			}
    		</style>
    	</head>
    	<body>
    		<div class="all">
    			<div class="top"></div>
    			<div class="main">
    				<div class="left"></div>
    				<div class="right"></div>
    			</div>
    			<div class="footer"></div>
    		</div>
    	</body>
    </html>

    9.3 DIV+CSS的典型布局

    9.3.1 左中右布局


  • 左中右布局是一种常见的网页布局方式,其中页面被分为三个主要区域:左侧、中央和右侧。这些区域通常用于放置导航菜单、主内容和辅助内容。在CSS中,可以通过使用浮动(float)或定位(position)属性来实现这种布局。例如,可以将左侧和右侧的元素设置为浮动,然后将中央的元素包围在它们之间,并清除浮动以防止布局错位。 

    例:

    9.3.2 上中下布局

    上中下布局涉及将页面内容分为三个垂直区域:顶部、中部和底部。这种布局适合于包含页眉、主要内容和页脚的页面。在CSS中,可以通过设置固定高度或使用百分比来指定这些区域的高度,并使用定位属性来确定它们在页面中的位置。

    例:

    9.3.3 混合布局


  • 混合布局是指结合使用了多种布局技术的页面,如固定布局、流体布局和弹性布局等。这种布局方式可以提供更强的适应性,确保页面在不同设备和屏幕尺寸上都能保持良好的用户体验。混合布局通常涉及使用CSS3的Flexbox和Grid系统,这些系统提供了更高级的布局控制和更好的响应式设计支持。 

    在设计混合布局时,开发者需要考虑布局的灵活性、兼容性以及性能优化,确保页面不仅在视觉上吸引人,而且在各种设备上都能流畅加载和运行。随着前端技术的不断发展,混合布局成为了现代网页设计中不可或缺的一部分。 

    例:

  • <!DOCTYPE html>
    <html>
    	<head>
    		<meta charset="utf-8">
    		<title>示例9.13混合布局</title>
    		<style>
    			*{
    				margin: 0px auto;
    				padding: 0px auto;
    				width: 100%;
    				height: 100%;
    			}
    			.all{
    				border: 2px dashed red;
    				width: 95%;
    				height: 100%;
    			}
    			.top{
    				background-color: pink;
    				width: 100%;
    				height: 15%;
    			}
    			.main{
    				width: 100%;
    				height: 75%;
    			}
    			.left{
    				background-color: yellow;
    				width: 20%;
    				float: left;
    			}
    			.center{
    				background-color: lightcyan;
    				width: 60%;
    				float: left;
    			}
    			.right{
    				background-color: yellow;
    			}
    			.footer{
    				background-color: pink;
    				width: 100%;
    				height: 10%;
    			}
    		</style>
    	</head>
    	<body>
    		<div class="all">
    			<div class="top"></div>
    			<div class="main">
    				<div class="left"></div>
    				<div class="center"></div>
    				<div class="right"></div>
    			</div>
    			<div class="footer"></div>
    		</div>
    	</body>
    </html>

    9.4 综合案例——众成远程教育

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值