首页 > web前端 > css教程 > 正文

CSS进阶之布局模型实例详解

高洛峰
发布: 2017-03-23 11:38:34
原创
1350人浏览过

css中含有三种布局模型 流动模型flow 浮动模型float 层模型layer

流动模型

网页默认的布局模型 特点有两个

  1.块状元素都会在所处的包含元素内自上而下按顺序垂直延伸分布,因为在默认状态下,块状元素的宽度都为100%。实际上,块状元素都会以行的形式占据位置。

<style type="text/css">
    h1,p,div{
        border:1px solid red;
    }
</style>
登录后复制

CSS进阶之布局模型实例详解

立即学习前端免费学习笔记(深入)”;

 2.在流动模型下,内联元素都会在所处的包含元素内从左到右水平分布显示。

<a href="http://>www.baidu.com</a><span>hello</span><em>shit</em><strong>world</strong>
登录后复制

 www.baidu.com  hello shit world 会水平显示在同一行中。

2.浮动模型 FLoat

任何元素在默认情况下是不能浮动的,但可以用 CSS 定义为浮动,如 div、p、table、img 等元素都可以被定义为浮动 例如让下面两个div元素并排显示在同一行

div{
    border:1px solid red;
    width:200px;
    height:200px;
    float:left;//从左向右排列
}
<div>hello</div>
<div>world</div>
登录后复制

CSS进阶之布局模型实例详解

3.层模型  Layer

能够实现对于html元素的精准定位(用的不是特别多,但是局部使用层模型可以实现一些效果)

层模型有三种:

绝对定位:position:absolute

    将元素从文档流中拖出来,然后使用left、right、top、bottom属性相对于其最接近的一个具有定位属性的父包含块进行绝对定位。如果不存在这样的包含块,则相对于body元素,即相对于浏览器窗口。

将div元素相对于浏览器窗口向右移动100px 向下移动200px

div{
    position:absolute;
    width:100px;
    height:100px;
    border:1px solid red;
    left:100px;
    top:200px;
}
登录后复制

相对定为:position:relative

   相对于以前的位置移动,移动的方向和幅度由left、right、top、bottom属性确定,偏移前的位置保留不动(eh1显示在如图所示的位置,这一点尤其要进行注意)。

   .div1{
    position:relative;
    width:200px;
    height:200px;
    border:1px solid red;
    left:200px;
    top:200px;
}
<span>hello world>
<div class="div1">position:relative</div>
<span>eh1<span>
登录后复制

CSS进阶之布局模型实例详解

固定定位:position:fixed

   相对移动的坐标是视图(屏幕内的网页窗口)本身。由于视图本身是固定的,它不会随浏览器窗口的滚动条滚动而变化,除非你在屏幕中移动浏览器窗口的屏幕位置,或改变浏览器窗口的显示大小,因此固定定位的元素会始终位于浏览器窗口内视图的某个位置

#div2{
    position:fixed;
    bottom:100px;
    right:100px;
    width:200px;
    height:200px;
    border:1px solid red;
}
<div id="div2">position:fixed</div>
登录后复制

这样无论浏览器中有多少内容,div始终处于窗口的右下角。

position:absolute 和position:relative的组合使用

由上面知道position:absolute是相对于浏览器进行定位的,可以通过position:relative实现position:absolute相对于其他的元素定位 但是必须满足以下几点:

  1.被参照元素必须是定位元素的父元素

  2.被参照元素设置为position:relative

  3.定位元素设置为position:absolute

#div1{
 border:1px solid red;
 width:200px;
 height:200px;
 position:relative;
}
#div2{
 border:1px solid red;
 width:50px;
 height:50px;
 left:20px;
 top:20px;
 position:absolute;
}
<div id="div1">
    <div id="div2">hello</div>
</div>
登录后复制

CSS进阶之布局模型实例详解

这样就实现了div2相对于div1来定位了。

以上就是CSS进阶之布局模型实例详解的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
相关标签:
css
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号