bootstrap网格设置等高度

本文探讨了在HTML布局中遇到的等宽元素不同高的问题,并提供了两种解决方案:一种是利用Flex布局来确保元素的高度一致;另一种是通过负边距和填充的方法使元素高度相等,但该方法存在下边界隐藏的问题。

 代码如下:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
		   <link rel="stylesheet" href="https://cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap.min.css">  
   <script src="https://cdn.bootcss.com/jquery/2.1.1/jquery.min.js"></script>
   <script src="https://cdn.bootcss.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
	<style>
		/*第一种*/
		/*.row {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    flex-wrap: wrap;
}
.row > [class*='col-'] {
    display: flex;
    flex-direction: column;
}*/
/*第二种*/
/*.row{
    overflow: hidden;
}

[class*="col-"]{
    margin-bottom: -99999px;
    padding-bottom: 99999px;
}*/

	</style>
	</head>
	
	<body>
		<div class="row">
			<div class="col-sm-6"  style="border: 1px solid  forestgreen;">
				<p>fdferf</p>
				<p>fdvfd</p>
			</div>
				<div class="col-sm-6" style="border: 1px solid firebrick;">
				<p>fdferf</p>
				<p>优快云 (Chinese Software Developer Network) 创立于1999年,是中国最大的IT社区和服务平台,为中国的软件开发者和IT从业者提供知识传播、职业发展、软件开发等全生命周期服务,满足他们在职业发展中学习及共享知识和信息、建立职业发展社交圈、通过软件开发实现技术商业化等刚性需求。拥有超过3000万注册会员(其中活跃会员800万)、50万注册企业及合作伙伴。

旗下拥有:全球最大中文IT技术社区:csdn、权威IT专业技术期刊:《程序员》杂志、IT人力资源服务:科锐福克斯、IT技术学习平台:乐知教育、代码托管+社交编程平台:code、移动开发工具和服务聚合平台:mobilehub、IT专属求职网站:job、中文软件外包和项目交易平台:csto、程序员深度交流社区:iteye、中国最大技术管理者平台:CTO俱乐部、云计算产业人士沙龙:云计算俱乐部、面向移动开发者的技术组织:移动开发者俱乐部、面向全国大学生的技术组织:高校俱乐部。</p>
			</div>
		
		</div>
	</body>
</html>

如下图:

从图中我们可以看出虽然等宽但是不等高,这种情况并不符合我们的需求.

第二种方法会隐藏掉下边界:

如下图:

第一种方法使用固定布局:

 

Bootstrap中实现两列布局并使其高度自适应可以利用其网格系统和相关的类来实现。以下是具体步骤和示例代码: ### 1. 引入Bootstrap 首先要在HTML文件里引入Bootstrap的CSS和JavaScript文件。可以通过CDN或者本地文件进行引入,下面是使用CDN的示例: ```html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <!-- 引入Bootstrap CSS --> <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet"> <title>Bootstrap两列布局</title> </head> <body> <!-- 页面内容 --> <!-- 引入Bootstrap JS --> <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script> </body> </html> ``` ### 2. 创建两列布局 使用Bootstrap网格系统来创建两列布局,可借助`row`和`col`类。这里以两列宽度相同的情况为例: ```html <div class="container"> <div class="row"> <div class="col-md-6"> <p>这是左侧列的内容。这里可以添加更多文本,使得左侧列高度增加。</p> </div> <div class="col-md-6"> <p>这是右侧列的内容。</p> </div> </div> </div> ``` 在上述代码中,`container`类用于容器的居中与响应式布局,`row`类用来创建一行,`col-md-6`类表示在中等宽度及以上的屏幕上,每列占据一半的宽度。 ### 3. 实现自适应高度 Bootstrap网格系统会自动让同一行的列高度保持一致。要是需要给列添加背景色或者边框,可以更好地观察高度的自适应效果: ```html <div class="container"> <div class="row"> <div class="col-md-6 bg-light border"> <p>这是左侧列的内容。这里可以添加更多文本,使得左侧列高度增加。</p> </div> <div class="col-md-6 bg-light border"> <p>这是右侧列的内容。</p> </div> </div> </div> ``` 在这个例子里,`bg-light`类用于设置背景色为浅灰色,`border`类用于添加边框。 ### 完整示例代码 ```html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <!-- 引入Bootstrap CSS --> <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet"> <title>Bootstrap两列布局</title> </head> <body> <div class="container"> <div class="row"> <div class="col-md-6 bg-light border"> <p>这是左侧列的内容。这里可以添加更多文本,使得左侧列高度增加。</p> </div> <div class="col-md-6 bg-light border"> <p>这是右侧列的内容。</p> </div> </div> </div> <!-- 引入Bootstrap JS --> <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script> </body> </html> ``` ### 代码解释 - `container`类提供了一个响应式的容器,让内容在不同屏幕宽度上都能居中显示。 - `row`类创建了一个水平的行,用于容纳列。 - `col-md-6`类表示在中等屏幕宽度及以上时,每列占据一半的宽度。 - `bg-light`类设置背景色为浅灰色,`border`类添加了边框,方便查看列的高度自适应效果。 ### 注意事项 - 要保证在使用Bootstrap网格系统时,`col`类是`row`类的直接子元素。 - 可以根据实际需求调整列的宽度,例如`col-sm-4`和`col-sm-8`表示在小屏幕宽度及以上时,左侧列占三分之一宽度,右侧列占三分之二宽度。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值