zoukankan      html  css  js  c++  java
  • CSS进阶(八) float

    float的本质就是为了实现文字环绕效果

    特性

    (1)包裹性,即父元素的宽度大于子元素的宽度,最终展现的效果为子元素的宽度

    (2)块状化并格式化上下文。display变为block或table

    (3)破坏文档流

    (4)没有任何margin合并

    text-align对块级元素是无效的

    float实现一栏固定的多栏布局时,要巧妙的配合margin属性使用

    clear属性的自身不能和前面的浮动元素相邻,clear:left和clear:right没有任何使用价值,直接使用clear:both

    clear属性只有块级元素才是有效的,再借助伪元素清除浮动时,需要设置display属性

    clear属性的本质是让自己不和float元素在一行显示,并不是真正意义上的清除浮动

    BFC元素

    (1)<html>根元素

    (2)float的值部位none

    (3)overflow为ayto,scroll,hidden

    (4)display为table-cell,table-caption,inline-block

    (5)position不为relative,static

    BFC 的结界特性最重要的用途其实不是去 margin 重叠或者是清除 float 影响,而是实 现更健壮、更智能的自适应布局。

    要想彻底清除浮动的影响,最适合的属性不是 clear 而是 overflow。

    overflow 的剪裁或者滚动的边界是 border box 的内边缘,而非 padding box 的内边缘

    在实际项目开发的时候,要尽量避免滚动容器设置 padding-bottom 值

    overflow-x overflow-y

    永远不可能实现一个方向溢出剪裁或滚动,另一方向内容溢出显示的效果。

    滚动条

    (1)PC端,无论什么浏览器,滚动条均来自<html>

    (2)滚动条会占用元素的可用宽高

    webkit下常用的滚动条设置属性

    ::-webkit-scrollbar 血槽宽度

    ::-webkit-scrollbar-thumb 拖动条

    ::-webkit-scrollbar-track 背景槽

    锚点定位

    实现方式

    (1)使用a标签的name属性

    (2)使用元素的id属性

    <a href="#">返回顶部></a> 

    触发方式

    (1)URL地址中的锚链与锚点元素对应并有交互行为

    (2)可focus的锚点元素处于focus状态 (浏览器内置的无障碍访问行为)

    本质

    锚点定位行为的发生,本质上是通过改变容器滚动高度或者宽度来实现的。

    (1)锚点定位也可以发生在普通的容器元素上,而且定位行为的发生是由内而外的。由内而外指先触发容器的锚点定位,再触发外部容器的锚点定位,默认和浏览器上边缘对齐

    (2)设置overflow:hidden的元素也是可以滚动的。滚 动依然存在,仅仅滚动条不存在

     实现滚动条应用scrollTop

    (1)实现简单,无须做边界判断

    (2)可与原生的 scroll 事件天然集成,无缝对接

    (3)无须改变子元素的结构。

    缺点

    (1)无法添加类似 Bounce 回弹这种动效

    (2)渲染要比一 般的渲染慢一些

  • 相关阅读:
    Python 元类
    Rsync 基础配置
    linux shell find
    找最大的目录
    云主机的上下行带宽
    关于c3p0 ResourcePoolException: Attempted to use a closed or broken resource pool
    recover_file
    MegaCli 监控raid状态
    influxdb
    在Ubuntu 16.04如何安装Java使用apt-get的
  • 原文地址:https://www.cnblogs.com/goOtter/p/9795671.html
Copyright © 2011-2022 走看看