前端学习笔记----Day10_水平布局float

2018-03-20  本文已影响0人  Pamela_Liu

定位方案(Position Schemes)

三种定位方案对比.png

float 水平布局

float规则
  1. 不能与行内级内容层叠,行内级内容将会被浮动元素推出
  1. 行内级元素、inline-block元素浮动后,其顶部将与所在行的顶部对齐
  1. 浮动元素之间不能层叠


    demo2.png
demo3.png
  1. 浮动元素的顶端不能超过包含块的顶端,也不能超过之前所有浮动元素的顶端
demo4.png 效果及代码实现.png
效果

1. 在浮动流中, 向相同方向浮动的元素, 先浮动的在前面

div标签里面的内容是行内级的,并且不能被浮动元素覆盖

2. 多个浮动元素效果

浮动顺序.png
  1. 如果水平方向剩余的空间不够显示浮动元素,浮动元素将向下移动,直到有充足的空间为止
向下浮动.png
training 原理部分

常用场景

页数索引.png 豆腐块效果.png
重置样式 css reset
/* 重置样式 - CSS Reset */
ul, li, h2 {
    margin: 0;
    padding: 0;
}

li {
    list-style: none;
}

a {
    color: #000;
    text-decoration: none;
}</pre>
练习二 伪元素实现 使用::after设置下划线

清浮动的原因----高度坍塌(脱标的浮动元素的高度被算入父元素)

清浮动常见方法

1. (推荐) 终极解决方案.

.container::after {
    content: "";
    display: block;
    clear: both;
    height: 0;/*兼容旧浏览器*/
    visibility: hidden;/*兼容旧浏览器*/
}
.container {
    *zoom: 1;/*兼容IE6~7浏览器*/
}
/*也可以用外联样式表*/
<link rel="stylesheet" href="css/clear-fix.css">
/*在要使用的元素上加上类*/
<ul class="clear-fix">

其他解决方案(不推荐)

1. 给父元素设置固定宽高 扩展性不好

2. 给父元素也设置浮动(很有可能导致所有元素浮动, 因为是一家子^^) ---------- BFC问题导致

3. 让父元素设置为绝对定位元素----- 因为绝对定位元素的高度会汇报...待补充)-------------BFC问题导致

  1. 给父元素设置display为inline-block、inline-table、table、table-cell、table-caption

  2. 给父元素设置overflow为visible(default)以外的值(比如hidden、auto、scroll)

6. 给父元素设置一个空的块级元素,设置clear:both(结构与样式分离)

7. 设置空行属性


<br clear="all">

实现原则: 1.不要修改元素的类型 2. 要有扩展性 3. 要用纯css实现(不违反结构与样式分离)

clear 常用取值

清浮动 !!! warning
图片品质
CSS官方文档解读
文档属性值.png
组合 combinators
组合.png
出现次数 multipliers
出现次数.png
类型 types
类型.png
上一篇 下一篇

猜你喜欢

热点阅读