zoukankan      html  css  js  c++  java
  • css一些事儿

    1. margin和padding

    如果边界画一条线,则margin的属于边界外,padding属于边界内

    1. 当我们给元素背景色时,margin区域不会被着色,而padding区域会被着色。

    2. 当上下两个块元素,一个设置margin-bottom:10px,下面的设置margin-top:20px,两个块元素的距离不是30 而是20。 而padding则是相加的情况

    3. margin是用来隔开元素与元素的间距;padding是用来隔开元素与内容的间隔。margin用于布局分开元素使元素与元素互不相干;padding用于元素与内容之间的间隔,让内容(文字)与(包裹)元素之间有一段“呼吸距离”

    2. 外边距塌陷

    定义:块的顶部外边距和底部外边距有时被组合(折叠)为单个外边距,其大小是组合到其中的最大外边距

    1、相邻的兄弟姐妹元素

    <p style="margin-bottom: 10px;">上面的段落</p>
    <p style="margin-top: 20px;">下面的段落</p>
    

    两者的边距不是两者和30,而是二者较大的20.

    2、块元素与其第一个或者最后一个子元素

    <style>
        .my-title{
            margin:0;
            background-color: #808080;
        }   
        .parent{
            margin-top:35px;
            background-color: #00FF00;
    
        }   
        .children-first{
            margin-top:20px;
            margin-bottom:40px;
        }   
        .children-second{
            margin-top:20px;
        }   
    </style>
    
    <div class="my-title">
        my title
    </div>
    <div class="parent">
        <div class="children-first">
            children
        </div>
        <div class="children-second">
            children
        </div>
    </div>
    

    3. 定位position

    position 这个属性决定了元素将如何定位。它的值大概有以下五种:

    position 值 如何定位
    static position的默认值。元素将定位到它的正常位置(上文提到过),其实也就相当于没有定位。元素在页面上占据位置。不能使用 top right bottom left 移动元素位置。
    relative 相对定位,相对于元素的正常位置来进行定位。元素在页面占据位置。可以使用 top right bottom left 移动元素位置。
    absolute 绝对定位,相对于最近一级的 定位不是 static 的父元素来进行定位。元素在页面不占据位置。 可以使用 top right bottom left 移动元素位置。
    fixed 绝对定位,相对于浏览器窗口来进行定位。其余和 absolute 一样,相当于一种特殊的 absolute。
    inherit 从父元素继承 position 属性的值。

    其它

    1. 对于块级元素,子元素的宽度默认为父元素的100%,
      父元素宽度 = 子元素宽度 + padding + margin

    2. 当时img这种元素时,不管我们怎么设置父元素的宽度和高度,而不设置img的宽和高时,img总是表现为其原始的宽和高。当宽和高设置一个时,另一个则等比例缩放。当宽和高都100%时则铺满这个父元素

    3. 同为块元素,脱离文档流时候,以浮动为例当父元素有宽度,子元素没有宽度,子元素浮动后,注意子元素大小;当子元素有宽度,父元素没有宽度,子元素浮动后,注意父元素大小

  • 相关阅读:
    常用公式 距离、波形、力
    代码字体
    关于flash缩放的详细解释
    色调
    工程项目1
    使用double无法得到数学上的精确结果的原因及为何不能用double来初始化BigDecimal
    第一次测验感受
    原码,补码,反码的概念及Java中使用那种存储方式
    static的含义
    第一次测试代码
  • 原文地址:https://www.cnblogs.com/redirect/p/8658547.html
Copyright © 2011-2022 走看看