Github pages 博文

CSS彻底研究(3)-浮动,定位

一 . 浮动float

I . 定义及规则

float默认为none,对应标准流的情况。当float : left;时,元素就会向其父元素的左侧靠紧,脱离标准流,同时宽度不再伸展至充满父容器,而是根据自身内容来确定。

II . 演示规则

准备代码

<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title></title><style>body{margin: 0;padding: 0;}#father{background-color: cyan;/*父级div 没有定位 造成子div的margin-top传递给父级*/position: absolute;}#father *{margin: 10px;padding: 10px;border: 1px dashed red;}#son1{}#son2{}#son3{}</style>
</head>
<body><div id="father"><div id="son1">#son1</div><div id="son2">#son2</div><div id="son3">#son3-son3son3son3</div><p>这是文字这是文字这是文字这是文字这是文字这是文字这是文字这是文字这是文字这是文字这是文字这是文字这是文字这是文字这是文字这是文字这是文字这是文字这是文字这是文字这是文字这是文字这是文字这是文字这是文字这是文字这是文字这是文字这是文字这是文字这是文字这是文字这是文字这是文字这是文字这是文字这是文字这是文字这是文字</p></div>
</body>
</html>
  1. 中间给#father加上position:absolute,是为了消除未定位父div的margin-top传递问题,见http://blog.sina.com.cn/s/blog_6bec36f9010110w9.html
    显示效果为
  2. 1,2的float分别为left right时,有

    可见1,2脱离标准流,标准流中的son3当他们不存在,于是son3代替原来son1的位置,而son1的左border、son2的右border与son3的左右border重合
  3. 当1,2,3全都float left时

    文字围绕着float过的div
  4. 1,2左浮动,3右浮动,当窗口宽度减小时,3会被挤下来

    当3左浮动,2右浮动的时候,显示为

    当浏览器窗口宽度减小时,猜猜谁会被挤下来,son2么?

    答案还是son3,规则为 : 写在html文件中后面的会被挤下来,在html文件中,son3在son2后面,因此总是son3先挤下来。
  5. 增加son1高度,son3挤下来时会卡在那里
  6. 删除盒子中的文字,3个子div全部左浮动
    显示为

    父div中的三个子div全部脱离标准流了,父div就缩成一条线了,可以用clear来修正
    加一个margin-padding-border全为0,clear为both的空div,来撑大父div

III . clear清除浮动

如果前面有float:left的元素,他会影响下面元素,如上例中的p,在p元素中写clear : left即可消除前面左浮动元素对本元素的影响.同理clear:both是左右都清除.


二 . 定位position

position取值有static absolute relative fixed

1. static

这个是默认的,即标准流排下来,就是static定位方式.

2. fixed

在浏览器窗口中固定,什么论坛中的[回到顶部]这种按钮就是fixed做的
练习做个回到顶部玩玩

<div id="backToTop">回到顶部
</div>
#backToTop
{width: 100px;height: 50px;background-color: red;color: white;cursor: pointer;border-radius : 25px 0 0 25px;padding-left : 20px;text-align: center;line-height: 50px;position : fixed;bottom : 80px;right : 0;
}

显示效果

3. relative相对定位

相对于自己的偏移,而且不脱离标准流,使用top/bottom left/right指定偏移量

4. absolute绝对定位

根据别的已定位元素进行定位,应用absolute规则的脱离标准流

  • 这个别的元素:
    离它最近的已定位的祖先元素 或者 浏览器窗口,当找不到前面的祖先元素时,就以后者浏览器窗口来定位.
  • 已经定位 : 是指position已经设置,而且不是static...即position值不为static就是已经定位的元素,未设置position或设置为static认为它没有定位.

Trick
只设置 position : absolute,而不设置top/bottom/left/right值,那么元素会保持在原地,但是已经脱离标准流.


三 . display

display取值有inline block none
设置为none,即可将其隐藏,像inline-block等新添加的,参考http://www.w3school.com.cn/cssref/pr_class_display.asp

转载于:https://www.cnblogs.com/magicdawn/p/3830059.html

CSS彻底研究(3) - 浮动,定位相关推荐

  1. CSS框模型,浮动,定位以及其他属性

    CSS框模型,浮动,定位以及其他属性 1.CSS 框模型 (Box Model) 规定了元素框处理元素内容.内边距.边框 和 外边距 的方式 element : 元素. padding : 内边距,也 ...

  2. CSS浮动定位与背景样式

    CSS浮动定位与背景样式 1.浮动与定位 1.1 浮动的基本概念 本质功能 : 实现块元素并排布局 使用要点 : 1.要浮动,并排的盒子都要设置浮动2.父盒子宽度足够,否则会被迫换行3.子盒子会按顺序 ...

  3. CSS排版练习小作业,文字围绕图片显示,基本的float浮动定位

    简单的css排版 基本的float浮动定位 文字围绕图片显示 css代码,float分成两块 <style type="text/css">div.float1{flo ...

  4. CSS表格与浮动定位

    一.表格 1.表格的常用属性  1.边距属性:padding  2.尺寸属性:width,height  3.文本格式化属性:    font-*    text-align,color,text-i ...

  5. 浅析CSS——元素重叠及position定位的z-index顺序

    多次在项目中遇到html页面元素的非期待重叠错误,多数还是position定位情况下z-index的问题.其实每次解决类似问题思路大致都是一样的,说到底还是对z-index的理解比较模糊,可以解决问题 ...

  6. java怎么往右浮动_[Java教程]jQuery实现页面滚动时智能浮动定位

    [Java教程]jQuery实现页面滚动时智能浮动定位 0 2016-08-04 18:00:08 jQuery实现页面滚动时层智能浮动定位_前端开发 * { margin: 0; padding: ...

  7. (转)浅析CSS——元素重叠及position定位的z-index顺序

    多次在项目中遇到html页面元素的非期待重叠错误,多数还是position定位情况下z-index的问题.其实每次解决类似问题思路大致都是一样的,说到底还是对z-index的理解比较模糊,可以解决问题 ...

  8. 固定-浮动定位在顶部的div

    固定-浮动定位在顶部的div <!DOCTYPE HTML> <html lang="en-US"> <head> <meta chars ...

  9. CSS / 圆角边框+阴影+浮动

    目录 圆角边框 盒子阴影 文字阴影 传统网页布局的三种方式 浮动 浮动特性 浮动元素经常和标准流父级搭配使用 常见的网页布局案例 浮动布局注意点 圆角边框 语法:border-radius: 半径; ...

  10. BFC机制与浮动定位脱离文档流

    BFC机制与浮动定位脱离文档流 BFC块格式化上下文 --w3c规定的一种独立渲染区域 渲染流程基本上四个步骤: 1.计算CSS样式 2.构建Render Tree 3.Layout – 定位.大小, ...

最新文章

  1. python银行家算法代码_避免死锁的银行家算法C++程序实现
  2. 深刻剖析与实战BCELoss详解(主)和BCEWithLogitsLoss(次)以及与普通CrossEntropyLoss的区别(次)
  3. 多线程处理同一批数据_多进程和多线程的优缺点
  4. 3D集合图元:最小边界框/包围盒(boundingbox)
  5. 关于“收获”啰嗦几句。
  6. [温故知新] 编程原则和模式
  7. 组件使用中的细节点02
  8. Linux上构建一个RADIUS服务器详解
  9. docker学习1--dockerfile
  10. m1芯片Mac安装jekyll+搭建GitHub pages个人博客站点
  11. oracle级联赋权,Oracle 级联with admin option 和 with grant option
  12. SpringMVC:学习笔记(2)——RequestMapping及请求映射
  13. 《机器学习实战》学习笔记第二章 —— K-近邻算法
  14. STC学习:实时时钟
  15. C#如何控制Windows关机
  16. getch函数详解看这一篇就够了-C语言(函数功能、使用方法、返回值、头文件)
  17. Apizza 升级了,更好的 api 接口管理和文档编写,欢迎大家访问吐槽!!
  18. 橙瓜发布2018网络小说风云榜年度榜,顶级大神作家的无声角逐
  19. 工作拾忆 一年C++经验小记
  20. views是什么意思_views的意思

热门文章

  1. ICLR'22 | 审稿结果统计速览
  2. 普通人快速拿到校招offer的十大狠招
  3. 从零实现深度学习框架——理解正则化(二)
  4. 数据分析不能落地?快来围观,学会数据分析应用,一起升职加薪
  5. 2021年的第一本书,就从这里选
  6. Go在容器运行时要注意的细节
  7. “Java引领技术人生”专题讲座——Java畅销书作者李刚巡讲活动
  8. 321. 拼接最大数
  9. 什么是次梯度(次导数)
  10. 推荐系统:NDCG评价指标