HTML5 CSS布局模型

在网页中,元素有三种布局模型:
1、流动模型(Flow)
2、浮动模型 (Float)
3、层模型(Layer)


流动模型

流动(Flow)是默认的网页布局模式。流动布局模型具有2个比较典型的特征:
1.块状元素都会在所处的包含元素内自上而下按顺序垂直延伸分布,因为在默认状态下,块状元素的宽度都为100%。
在流动模型下,内联元素都会在所处的包含元素内从左到右水平分布显示。(内联元素可不像块状元素那样占一行),如a、span、em、strong等标签

示例:

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>流动模型</title>
<style type="text/css">
#box1{
    width:300px;
    height:100px;
}
div,h1,p{
    border:1px solid red;
}
#box2{
    width:100px;
    height:100px;
}
</style>
</head>
<body>
    <div id="box2">box2</div>
    <h1>标题</h1><!--块状元素,由于没有设置宽度,宽度默认显示为100%--> 
    <p>文本段文本段文本段文本段文本段文本段文本段文本段文本段文本段文本段文本段文本段文本段文本段文本段文本段。</p><!--块状元素,由于没有设置宽度,宽度默认显示为100%--> 
    
    <div id="box1">box1</div><!--块状元素,由于设置了width:300px,宽度显示为300px-->
</body>
</html>

效果:


浮动模型

元素默认情况下是从上往下排列,如果想要并排显示,那么可以设置浮动
如:

div{
    width:200px;
    height:200px;
    border:2px red solid;
    float:left;
}

两个div就会在左侧并排显示:


同理可以设置右侧,可以设置一个左一个右


层模型

层模型:类似PS中的图层,可以对每层进行单独处理,由于浏览器大小的活动性,限制了层模型的运用,不过在某些方面,还是很方便的

层模型有三种形式:
1、绝对定位(position: absolute)
2、相对定位(position: relative)
3、固定定位(position: fixed)

  • 层模型--绝对定位
    绝对定位,需要设置position:absolute,然后使用left、right、top、bottom属性相对于其最接近的一个具有定位属性的父包含块进行绝对定位。如果不存在这样的包含块,则相对于body元素,即相对于浏览器窗口。
    代码示例:
div{
    width:200px;
    height:200px;
    border:2px red solid;
    position:absolute;
    left:100px;
    top:50px;
}

效果:

  • 层模型--相对定位
    既相对于之前位置的便宜量,需要设置position:relative,然后通过left、right、top、bottom属性确定元素在正常文档流中的偏移位置。
    代码示例:
#div1{
    width:200px;
    height:200px;
    border:2px red solid;
    position:relative;
    left:100px;
    top:50px;
}

效果:


注意:
假如上面div后面有跟一个< span>的文字标签,那么在设置偏移后,仅仅是< div>标签进行了移动,文字还是在原来未发生偏移的位置,就把这个偏移看作是障眼法,假的偏移,实际位置还是在原来的位置,这样理解会简单点

  • 层模型--固定定位
    固定定位与绝对定位差不多,绝对定位是居于父包含块,如果不存在父包含块就居于浏览器,固定定位是直接居于浏览器
    假如这么设定:
#div1{
    width:200px;
    height:200px;
    border:2px red solid;
    position:fixed;
    left:100px;
    top:50px;
}

这样的效果是无论放大缩小浏览器,都会在浏览器的右下角

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,796评论 1 92
  • 盒子模型 如果你看过很多教程依然学不会盒子模型,那么请你耐心看完这篇. 盒子模型3D层次结构: 从第一层到第五层依...
    info_gu阅读 2,524评论 0 12
  • 慕课网: HTML+CSS基础课程 一、元素分类 在讲解CSS布局之前,我们需要提前知道一些知识,在CSS中,ht...
    CAICL阅读 506评论 0 2
  • 一 外部式css样式 (也可称为外联式)就是把css代码写一个单独的外部文件中,这个css样式文件以“.css...
    KunMitnic阅读 962评论 0 1
  • 今春,真是多雨呀! 看雨燕在江面翻飞 闭目于香氛中 音钵转出清丽的声音 哦,我钟爱的粉色茶花 一个念头闪现 为何不...
    芙芝阅读 226评论 0 0