zoukankan      html  css  js  c++  java
  • CSS进阶(四)margin

     margin

    元素尺寸:border-box DOM属性里的offsetWidth 和offsetHeight

    元素内部尺寸: padding-box DOM属性里的clientWidth 和 clientWidth

    元素外部尺寸: margin-box 理解为元素占据的空间尺寸。-margin

    元素设定了 width 值或者保持“包裹性”的时候,margin 对尺寸没有 影响,只有元素是“充分利用可用空间”状态的时候,margin 才可以改变元素的可视尺寸。

    小技巧

    实现背景色

    (1)设置display:table-cell ,但最多三栏

    (2)使用border边框模拟 border-bottom: 9999px solid transparent ie7+且不支持百分比

    (3)使用margin-bottom和-margin-bottom设置-9999px 9999px配合父级的overflow:hidden

    margin百分比值

    不论水平方向还是垂直方向都是相对于宽度计算

    --margin合并

    (1)块级元素,不包括浮动和绝对定位元素

    (2)不考虑writing-mode的情况下,只发生在和当前文档流垂直的方向上

    发生的场景

    (1)兄弟元素之间

    (2)父元素包含的第一个子元素或最后一个子元素的margin-top和margin-bottom

    (3)空块级元素的合并margin-top和Margin-bottom合并

    计算规则

    负负值相加取绝对值大的

    对于margin:0的审视

    对于绝大多数网站可以进行设置,但如果网站主要用来展示图文,则统一标签的margin,不要一股脑设置成0

    大胆的使用:

    .list{
      margin-top:15px;
      margin-bottom:15px;
    }

    而不是

    .list{
      margin-top:15px;
    }

    这样设置能有有效的提升容错率

    margin:auto

    用来计算对应方向应该获得的剩余空间的大小

    不仅仅可以居中,也可以通过设置margin-left:auto或者margin-right:auto来居左或者居右

    触发的前提条件,auto或者height:auto,而height:auto元素不会自动的填充,因此无法触发垂直方向的居中

    垂直居中的方式

    父级元素设置position:relative 子元素设置:absolute width及height 在设置margin:auto

  • 相关阅读:
    mysql远程登录
    cmd中不能使用中文输入法解决方法
    dedecms sphinx 配置
    Docky需要混合窗口管理器才能工作,请启用混合窗口管理器后重新启动Docky.
    PHPCGI 进程 CPU 100% 与 file_get_contents 函数的关系
    MySQL MyISAM索引类型分析和优化
    ubuntu配置jdk7.0过程
    基于角色的用户权限设计的问题,大家探讨下
    工厂支持多数据库开发的三层结构模式随笔(一)
    分页利器 AspNetPager常用属性
  • 原文地址:https://www.cnblogs.com/goOtter/p/9783138.html
Copyright © 2011-2022 走看看