css中控制元素的浮动和页面布局

1.使用float属性

float:none;是默认值。
float:left;让元素浮动到左边,其他元素围绕在它的右边。
float:right;让元素浮动到右边,其他元素围绕在它的左边。

浮动的元素对文档流的影响与非浮动元素的影响的不同的,它并不会影响父元素或其他祖先元素的高度,因此从这一点来说,它不属于文档流的一部分,只有普通文档流中的内容会影响父元素的高度,因此若一个div内都是浮动元素,那么该div的高度实际为0。

有时候当我们页面布局的时候,一个元素浮动在左边,一个元素浮动在右边,接下来的元素我们希望按正常流布局,在浮动元素的下面。然而却发现下面的元素挤在了浮动元素的中间,就说明了浮动元素不影响文档流。

为了解决这个问题,我们可以使用clear属性清除浮动效果。如果对某个元素使用该属性,该元素和它后面的元素就会显示在浮动元素的下面。分别用clear:left;clear:right;和clear:both;依情况而使用。

大多数时候,这样做没有问题。但如果希望为容器添加一个背景色,由于容器的高度为0,不会显示该背景色。解决的是让容器自身具有清除浮动的能力。

有很多方法可以解决这个问题,但最可靠的使用clearfix方法,只要在css中引入.clearfix规则,然后为浮动元素的父元素添加clearfix类

.clearfix:before,
.clearfix:after {
  content: " ";
  display: table;
}

.clearfix:after {
  clear: both;
}

.clearfix {
  *zoom: 1;
}

通常也可以使用overflow属性创建自清除浮动元素。

需要注意的是:clear属性是添加到不希望环绕浮动对象的元素上,而clearfix类和overflow属性是应用于浮动元素的父元素或祖先元素的。

2.使用position属性

每个元素在页面的文档流中都有一个自然位置。相对于这个原始位置对元素进行移动就称为相对定位。

.example{
    position: relative;
    top: 1em;
    left: 1em;
}

通过对元素进行绝对定位,即指定它们相对于body或最近的已定位祖先元素,可以让元素脱离正常的文档流。

.example{
    position: absolute;
    top: 1em;
    left: 1em;
}

无论是relative还是absolute,距离数字可正可负,单位可以是px、em、rem。

3.display属性

这里写图片描述

正常情况下列表都是从上往下依次排列,为了实现上图的布局,我一般都会使用display: inline-block;,然后在调节元素的margin和padding属性即可。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
CSS网站布局实录:基于Web标准的网站设计指南(第2版)》内容提要: 本书是一本讲述基于Web标准的应用CSS进行网站布局设计与重构的典范之作。 本书以实例为主,一步步地告诉大家如何进行符合Web 2.0标准的CSS布局设计。具备了知识全面、完美应用(CSS选择器、样式继承、层叠、格式化、XML标签、CSS滤镜等。文本、图像、超链接、列表、菜单、网站导航、表单、数据表格、浮动布局CSS布局控制。),智能、创造型布局思维(智慧、完美视觉艺术效果之CSS布局技巧、CSS Hack实践战略),Web技术团队倾情奉献(来自CSS布局与Web标准应用之先驱——闪客帝国... [显示全部] 《CSS网站布局实录:基于Web标准的网站设计指南(第2版)》图书目录: 第1章 Web标准与CSS布局概述 1.1 Web标准的历史及发展 1.1.1 什么是Web标准 1.1.2 Web表现层技术 1.1.3 Web标准的历史 1.2 Web标准的构成 1.2.1 结构(Structure) 1.2.2 表现(Presentation) 1.2.3 行为(Behavior) 1.3 Web标准有什么好处 1.4 CSS布局与table布局的区别 1.4.1 CSS 2.0的优势 1.4.2 传统的table布局CSS布局 1.5 向Web标准过渡 1.5.1 从HTML转向XHTML 1.5.2 发挥CSS 2.0的作用 1.6 常见问题 1.6.1 什么样的网站才符合Web标准 1.6.2 使用Web标准之后表格还有用吗 1.6.3 可以继续使用HTML来设计网页吗 1.6.4 为什么不直接使用到XML 1.6.5 学习CSS布局比表格困难吗 1.6.6 CSS布局是否意味着必须手写代码 1.6.7 什么叫网站重构 1.6.8 使用Web标准之后就不再存在兼容性问题了吗 1.6.9 有没有Web标准方面的优秀图书或网站 1.6.10 使用CSS设计只能做出简单的网页吗 1.7 面向现在与未来的设计 1.7.1 Web标准与Web 2.0 1.7.2 用户体验技术 1.7.3 用户体验设计的发展趋势 第2章 XHTML与CSS基础 2.1 XHTML基础 2.2 选择合适的DTD 2.3 选择合适的标签 2.4 给CSS留下接口 2.5 良好的XHTML编写习惯 2.6 CSS语法结构 2.6.1 CSS属性与选择符 2.6.2 类型选择符 2.6.3 群组选择符 2.6.4 包含选择符 2.6.5 id及class选择符 2.6.6 标签指定式选择符 2.6.7 组合选择符 2.6.8 伪类及伪对象 2.6.9 通配选择符 2.7 CSS数据单位 2.8 应用CSS到网页 2.8.1 行间样式表 2.8.2 内部样式表 2.8.3 外部样式表 2.9 样式优先权问题 2.9.1 写法优先权 2.9.2 选择符优先权 2.9.3 样式继承 2.9.4 !important语法 2.10 代码注释 2.11 CSS开发环境与调试环境 第3章 CSS网页布局与定位 3.1 认识div 3.1.1 div是什么 3.1.2 如何使用div 3.1.3 理解div 3.1.4 并列与嵌套div结构 3.1.5 使用合适对象来布局 3.2 一列固定宽度 3.3 一列宽度自适应 3.4 二列固定宽度 3.5 二列宽度自适应 3.6 两列右列宽度自适应 3.7 二列固定宽度居 3.8 三列浮动间列宽度自适应 3.9 高度自适应 3.10 盒模型详解(.Box Model) 3.10.1 什么是盒模型 3.10.2 盒模型的细节 3.10.3 上下margin叠加问题 3.10.4 左右margin加倍问题 3.11 深入浮动(Float) 3.11.1 文档流(Document Flow) 3.11.2 浮动定位 3.11.3 浮动的清理(Clear) 3.11.4 何时选用浮动定位 3.12 绝对定位与相对定位 3.12.1 绝对定位 3.12.2 相对定位 3.12.3 何时选用绝对与相对定位 第4章 CSS网站元素设计 4.1 用CSS设计网站导航 4.1.1 横向导航 4.1.2 纵向导航 4.1.3 下拉及多级弹出式菜单 4.1.4 门户网站的导航设计(闪客帝国) 4.2 背景控制 4.2.1 背景颜色 4.2.2 背景图片 4.2.3 背景定位 4.2.4 背景滚动 4.2.5 背景属性缩写 4.2.6 基于背景控制的导航优化 4.3 使用列表元素 4.3.1 ul无序列表 4.3.2 ol有序列表 4.3.3 改变项目符号样式 4.3.4 使用图片自定义项目符号 4.3.5 使列表变为段落 4.3.6 列表缩进排版 4.3.7 复杂列
1.项目代码均经过功能验证ok,确保稳定可靠运行。欢迎下载体验!下载完使用问题请私信沟通。 2.主要针对各个计算机相关专业,包括计算机科学、信息安全、数据科学与大数据技术、人工智能、通信、物联网等领域的在校学生、专业教师、企业员工。 3.项目具有丰富的拓展空间,不仅可作为入门进阶,也可直接作为毕设、课程设计、大作业、初期项目立项演示等用途。 4.当然也鼓励大家基于此进行二次开发。在使用过程,如有问题或建议,请及时沟通。 5.期待你能在项目找到乐趣和灵感,也欢迎你的分享和反馈! 【资源说明】 基于原生html+css实现仿微信电脑客户端页面源码+项目说明.zip 仿微信页面 1. 实现目标 实现仿微信通讯录页面 1. 总体布局 # (1)布局分析 实现页面的第一的步骤是分析页面的总体布局,进而写出总体的html骨架,从图片我们可以看到,微信布局大体上是左右分布,分三块。 左侧:功能导航按钮。 间:通讯录选择列表 右侧:微信Logo 使用FSCapture的取色器功能,可以拾取各个部分的颜色,此处直接提供颜色,感兴趣的同学可以下载FSCapture进行取色场是。 2)布局实现 对于横向排列的布局,可以通过表格、行内块元素浮动、flex布局(弹性赫子)实现。 * 表格布局方式实现:由于不够灵活,在html早期简单页面应用较多,现已过时 * 通过行内块元素布局:能够实现一行布局多个容器(盒子),但是在实践很少使用 * 通过浮动实现:常见的布局方式之一,应用十分广泛,由于使用浮动之后,导致```盒子塌陷问题```,需要进行```清除浮动```。 * 通过flex布局实现:是新的布局方式,不管是水平还是垂直排列,都能较好控制,可用flex布局取代浮动

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值