DIV相关的操作总结
由于有时候需要做网站项目,遇到CSS的问题总是需要百度或者google一下,比较麻烦,索性今天就来总结一下,这里就拿div开刀先。
DIV在HTML前端页面布局中,非常重要,我们经常遇到的问题是:DIV居中,DIV自适应高度等等,下面就来总结一下。
父DIV自动匹配子DIV高度的方法
方法一:使用固定的高度
<style type="text/css">
.parentClass1
{
width:600px;
border:1px solid red;
height:120px; /*这里是方法一:我们直接设置父Div的高度为一个固定值。 */
}
.childClass1
{
float:left;
width:200px;
height:100px;
background-color:Blue;
}
.childClass2
{
float:right;
width:300px;
height:110px;
background-color:wheat;
}
</style>
<div class="parentClass1">
<div class="childClass1"></div>
<div class="childClass2"></div>
</div>
方法二:清除浮动
<style type="text/css">
.parentClass1
{
width:600px;
border:1px solid red;
}
.childClass1
{
float:left;
width:200px;
height:100px;
background-color:Blue;
}
.childClass2
{
float:right;
width:300px;
height:110px;
background-color:wheat;
}
.fitHeight
{
clear:both;
}
</style>
<div class="parentClass1">
<div class="childClass1"></div>
<div class="childClass2"></div>
<div class="fitHeight"></div>
</div>
这种方式主要是通过清除浮动来实现父DIV自适应高度的,是一种比较好的解决方法,当子DIV高度进行变化的时候,父DIV的高度也随之变化,所以推荐使用。
方法三:通过OverFlow样式来解决
先看下CSS代码:
<style type="text/css">
.parentClass1
{
width:600px;
border:1px solid red;
overflow:hidden; /*这里通过添加本样式,实现父DIV高度的自适应*/
}
.childClass1
{
float:left;
width:200px;
height:100px;
background-color:Blue;
}
.childClass2
{
float:right;
width:300px;
height:120px;
background-color:wheat;
}
</style>
然后再来看一下HTML代码部分:
<div class="parentClass1">
<div class="childClass1"></div>
<div class="childClass2"></div>
</div>
在这里,我们通过设置父DIV的overflow属性为Hidden来进行高度的自适应,这种方式非常简便,效果也很理想,推荐使用。

DIV居中或者居底的方法
首先,我们这里说一下一个DIV怎么在页面中居中,这里不存在父子的概念,所以对这种居中效果,我们直接可以通过添加 margin: 0 auto;来实现,意思是让上下间隔为0,左右间隔自动,随着页面的宽度自动进行居中设置。
CSS代码如下:
<style type="text/css">
.parentClass1
{
width:600px;
border:1px solid red;
margin:0 auto;
height:100px;
}
</style>
HTML代码如下:
<div class="parentClass1"></div>
其次,我们说下如何让父DIV中的子DIV居中。在这里,效果其实和上面是一样的,也是直接添加margin: 0 auto;来实现,具体代码我就不具体赘述了。
那么如果让子DIV在父DIV的底部,该怎么设置呢?这里就比较麻烦一点,不过我们可以将父DIV设置为:position:relative,子DIV设置为:position:absolute;的方式来解决:
CSS代码如下:
<style type="text/css">
.parentClass1
{
width:600px;
border:1px solid red;
height:200px;
margin:0 auto;
position:relative; /*父DIV需要设置为相对定位*/
}
.childClass1
{
width:200px;
height:100px;
background-color:Blue;
position:absolute; /*子DIV需要设置为绝对定位*/
bottom:0; /*加上这个属性,就可以实现子DIV移动到底部了*/
}
</style>
HTML代码如下:
<div class="parentClass1">
<div class="childClass1"></div>
</div>

DIV最小高度及自适应方法
有时候我们在设计网页的时候,需要给DIV块一个最小高度,但是当DIV内部内容超过最小高度的时候,需要DIV能够随着高度的增加而增加。这个时候,我们就可以利用_height和min-height属性来解决。
下面是对二者说明:
_height:200px; /* css 注解: 仅IE6设别此属性,假定最低高度是200px ,设置高度200px,内容超出后IE6会自动撑高设定高度 */
min-height:200px; /* css注释: css最小高度为200px支持所有浏览器,IE6浏览器除外 */
CSS代码如下:
<style type="text/css">
.parentClass1
{
width:600px;
border:1px solid red;
margin:0 auto;
_height:200px; /*添加上了_height和min-height属性,就限定了最小高度为200px*/
min-height:200px;
overflow:hidden; /*添加了这个属性,就可以保证当子DIV大于200px的时候,父DIV的高度能够随着子DIV的高度增加而增加*/
}
.childClass1
{
width:200px;
height:100px;
background-color:Green;
float:left;
}
.childClass2
{
width:200px;
height:330px; /*这个子DIV的高度已经大于了200px*/
background-color:Wheat;
float:right;
}
</style>
HTML代码如下:
<div class="parentClass1">
<div class="childClass1">内容高度没有超过200px的时候,div的高度为200px</div>
<div class="childClass2">内容高度超过200px的时候,div的高度自动适应</div>
</div>
那么得到的结果如下图所示:

DIV相关的操作总结的更多相关文章
- linux下关于压缩、解压相关的操作
本文转自: http://alex09.iteye.com/blog/647128 很不错的linux下关于压缩.解压相关的操作,适合于linux初学者. .tar 解包:tar xvf Fil ...
- 重新想象 Windows 8 Store Apps (70) - 其它: 文件压缩和解压缩, 与 Windows 商店相关的操作, app 与 web, 几个 Core 的应用, 页面的生命周期和程序的生命周期
[源码下载] 重新想象 Windows 8 Store Apps (70) - 其它: 文件压缩和解压缩, 与 Windows 商店相关的操作, app 与 web, 几个 Core 的应用, 页面的 ...
- 关于C#和ASP.NET中对App.config和Web.config文件里的[appSettings]和[connectionStrings]节点进行新增、修改、删除和读取相关的操作
最近我做的一些项目,经常需要用到对应用程序的配置文件操作,如app.config和web.config的配置文件,特别是对配置文件中的[appSettings]和[connectionStrings] ...
- C++ STL中Map的相关排序操作:按Key排序和按Value排序 - 编程小径 - 博客频道 - CSDN.NET
C++ STL中Map的相关排序操作:按Key排序和按Value排序 - 编程小径 - 博客频道 - CSDN.NET C++ STL中Map的相关排序操作:按Key排序和按Value排序 分类: C ...
- [git] commit 相关的操作
本地仓库状态相关的操作 1. git commit 将从上次提交后到现在这段时间内,暂存区所有的变化提交到版本库中: git commit -m '此次提交操作的简要说明(单引号括起来)' c ...
- (笔记)Linux内核中内存相关的操作函数
linux内核中内存相关的操作函数 1.kmalloc()/kfree() static __always_inline void *kmalloc(size_t size, gfp_t flags) ...
- 封装Email相关的操作
package com.opslab.util; import javax.activation.DataHandler;import javax.activation.DataSource;impo ...
- Java代码 简单用于处理和数据库相关的操作
package util; import org.apache.commons.beanutils.BeanUtils; import java.lang.reflect.InvocationTarg ...
- day06-Python运维开发基础(字符串格式化与相关的函数、列表相关的操作)
1. 字符串相关的操作与格式化 # ### 字符串相关操作 # (1)字符串的拼接 + var1 = "亲爱的," var2 = "男孩" res = var1 ...
随机推荐
- Objective-C之优雅的命名
There are only two hard things in Computer Science: cache invalidation and naming things.在计算机科学中只有两件 ...
- IOS开发-本地持久化存储sqlite应用
前言 需求描述 开发测试环境 FMDB介绍 创建工程 一.前言 上一章介绍了如何开发一个IOS应用的入门案例教程: 我的第一个IOS开发应用 本章主要将介 ...
- Android线程管理(二)——ActivityThread
线程通信.ActivityThread及Thread类是理解Android线程管理的关键. 线程,作为CPU调度资源的基本单位,在Android等针对嵌入式设备的操作系统中,有着非常重要和基础的作用. ...
- 快速与MySQL交互,使用XMAPP打开MySQL数据库,并用shell进行与MySQL交互<Window 10>
1.如果想要通过XAMPP shell登录MySQL,还需要下载安装好XAMPP. 2.双击打开xampp-control.exe,会出现以下界面,点击开启Apache和MySQL,这样我们就开启服务 ...
- java ee 面试时的机试题
写一个简单的用户登录 servlet+jsp+原生ajax+json实现方式: http://pan.baidu.com/s/1jGDY5h0
- Android平台二维码之生成,扫描 & 识别
1.二维码的前世今生 “二维条码/二维码(2-dimensional bar code)是用某种特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的图形记录数据符号信息的:在代码编制上巧妙地利 ...
- redis-集群(cluster)扫盲篇(一)
什么是redis的集群 按我个人的理解,redis集群就是实现多个redis节点之间进行数据的共享. 集群有什么好处: 将数据自动split到多个节点进行存储. 当集群中的一部分节点失效或者无法进行通 ...
- Effective Java 10 Always override toString() method
Advantage Provide meaningful of an object info to client. Disadvantage Constrain the ability of chan ...
- MFC中添加用户自定义消息
1.定义一个宏(用户自定义消息从WM_USER开始) #define WM_XXXXX WM_USER+数值 2.声明一个成员函数并实现 afx_msg LRESULT OnXXXXX( WPARAM ...
- HDU 4049 Tourism Planning(动态规划)
Tourism Planning Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) ...