美文网首页Web 前端开发 让前端飞
css盒模型-margin、定位和clip的相关处理

css盒模型-margin、定位和clip的相关处理

作者: 家里有棵核桃树 | 来源:发表于2017-09-27 15:35 被阅读0次

本文主要介绍在页面开发时常用的一些基本css样式属性:box-sizing、clip、margin、left、top之间的一些关系。

1. 盒模型-box-sizing

box-sizing用于修改计算元素宽度和高度默认的css盒子模型。可以使用该属性统一盒子模型,减少浏览器差异性引发的问题。box-sizing: content-box;/*默认值*/

两种盒模型的效果图
<div class="content-box">
    <p>content-box</p> 
    <div class="border-box">
        <p>border-box</p>
    </div>
</div>
box-sizing: content-box;
.content-box {
    width: 400px;
    height: 400px;
    padding: 10px;
    border: 10px solid #1b809e;
    box-sizing: content-box;    /*重点是这里呀~~~*/     
    background-color: #eeeeee;
}
box-sizing: border-box;
.border-box {
    width: 300px;
    height: 300px;
    padding: 10px;
    border: 10px solid #4cae4c;
    box-sizing: border-box;    /*重点是这里呀~~~*/
    background-color: #cccccc;
}

2. 裁剪-clip: rect(top, right, bottom, left);

裁剪后的效果图
注:html写法没变
.content-box {
    position: absolute; /*clip属性只适用于绝对定位的元素*/
    width: 400px;
    height: 400px;
    padding: 10px;
    border: 10px solid #1b809e;
    box-sizing: content-box;
    background-color: #eeeeee;
    clip: rect(0px, 440px, 440px, 10px); /*剪掉左边框 把10px换成9px就知道参考点在哪啦*/
}
.border-box {
    position: absolute; /*clip属性只适用于绝对定位的元素*/
    width: 300px;
    height: 300px;
    padding: 10px;
    border: 10px solid #4cae4c;
    box-sizing: border-box;
    background-color: #cccccc;
    clip: rect(0px, 290px, 300px, 0px); /*剪掉右边框 把290px换成291px就知道参考点在哪啦*/
}

划重点了:裁剪的参考位置是最左上角的那一点(content+padding+border),跟盒模型无关。

3. 绝对定位-absolute

使用定位后的效果图
注:html写法没变
.content-box {
    position: absolute;
    /*这里省略若干属性....跟前面一样*/
}
.border-box {
    position: absolute;
    top: 0px;
    left: 0px;
    /* margin: 10px; 在这里 这个外边距也是相对内容(不含边框)的距离 定位属性top等和margin不互相影响*/
    /*这里省略若干属性....跟前面一样*/
}

划重点了:定位的参考位置是内容最左上角的那一点(不含border,即content+padding)。定位只考虑了left和top属性,其它right和bottom的参考点也是不含边框的,只是参考点的位置变了。如果不设置left、top、right、bottom是按正常文档流的样式展示的。

有关css定位的基础知识

4. 外边距-margin

设置了外边距的效果图
注:html写法没变
p {
    border: 5px solid #ff9966;
}
.content-box {
    width: 400px;
    height: 400px;
    padding: 10px;
    border: 10px solid #1b809e;
    box-sizing: content-box;
    margin-top: -5px; /*这里换成-4px看看效果呀~~*/
    background-color: #eeeeee;
}
.border-box {
    width: 300px;
    height: 300px;
    padding: 10px;
    border: 10px solid #4cae4c;
    box-sizing: border-box;
    background-color: #cccccc;
}
.border-box p {
    margin-top: -10px; /*这里换成-9px看看效果呀~~*/
}

划重点了:如果设置了外边距margin它的参考是父元素的内容区(content)和相邻兄弟元素的盒子(含border)垂直外边距取最大,水平外边距就相加(水平外边距不会受行内元素和块级元素影响)。如果你的兄弟是行内元素,它是垂直边距是不起作用的,你的参考点就是行内元素兄弟的content了

相关文章

  • css盒模型-margin、定位和clip的相关处理

    本文主要介绍在页面开发时常用的一些基本css样式属性:box-sizing、clip、margin、left、to...

  • CSS学习笔记2

    css常用属性 盒模型 包含:内容、padding、border、margin 盒模型相关属性 内容属性 widt...

  • CSS 盒模型总结

    概念 CSS盒模型 包含:content padding border margin 类型 CSS盒模型分为 标准...

  • 面试题 - CSS

    CSS 盒模型和区别 margin + border + padding + contentw3c盒模型的cont...

  • HTML/CSS 04-css盒模型

    css盒模型的组成部分,css margin,css padding,css盒子的实际大小 目录: 一、盒模型的组...

  • 【css3】盒模型

    盒模型 盒模型 包括margin部分,盒子(内容区)不包括margin部分 css中的盒模型分两种 w3c标准盒模...

  • 盒模型

    1.盒模型包括哪些属性 盒模型是css中元素大小的呈现方式,每一个元素都有盒模型。 margin属性,margin...

  • 前端基础

    一、css1.盒模型·标准盒模型 border, padding, content, margin ·通过 box...

  • 前端面试资料总结(持续更新)

    CSS盒模型 盒模型包含了content,padding,border,margin 1.一个是标准模型:盒模型的...

  • 居中

    css 盒模型 盒模型的组成,由里向外content,padding,border,margin. 在IE盒子模型...

网友评论

    本文标题:css盒模型-margin、定位和clip的相关处理

    本文链接:https://www.haomeiwen.com/subject/fhruextx.html