CSS阶段四:border,outline,padding,ma

2020-01-18  本文已影响0人  蘭小木

盒子模型

CSS中将每一个元素都设置为了一个矩形的盒子,是为了方便页面的布局。(一切皆为框)

基本构成:内容区,内边距,边框,外边距


布局特点

pc端:会为网页设置一个默认宽度,倾向像素单位(px)

移动端:基于视口作为网页宽度,更倾向使用相对单位(% , rem,vh, wh 等)

border

指定了四个值:四个值会分别设置给 上 右 下 左,按照顺时针的方向设置

指定三个值:三个值会分别设置给 上 左右 下

指定两个值:两个值会分别设置给 上下 左右

指定一个值:四边全都是该值

border-width

边框宽度

border-color

边框颜色,
transparent透明边框

border-style

设置边框的样式

可选值:

border

边框的简写样式,通过它可以同时设置四个边框的样式,宽度,颜色,而且没有任何的顺序要求

border-top/border-right /border-bottom /border-left

可以单独设置四个边的样式,规则和border一样,只不过它只对一个边生效

border-spacing

在table中设置单元格间距

table{
width: 500px;
margin: 0 auto;
/设置边框/
/border: 1px black solid;/

            /*
                border-spacing可以用来设置表格边框之间的距离
             * */
            /*border-spacing: 100px;*/
            
            /*
                border-collapse可以用来设置表格的边框合并
                当设置border-collapse以后border-spacing自动失效
             * */
            border-collapse: collapse;
        }

border-collapse

当设置border-collapse以后border-spacing自动失效

在table中设置单元格合并


border-image

使用图片边框,必须为元素设置边框宽度和样式

使用图片作为元素的边框。浏览器支持较好,但商业网站应用很少,主要用在个人博客中。

border-image-source

border-image-source: url("img/border.png");

border-image-slice

图像边界向内偏移

此属性指定顶部,右,底部,左边缘的图像向内偏移,分为九个区域:四个角,四边和中间。图像中间部分将被丢弃(完全透明的处理),除非填写关键字。如果省略第四个数字/百分比,它和第二个相同的。如果也省略了第三个,它和第一个是相同的。如果也省略了第二个,它和第一个是相同的。

切割图片的顺序 上,右,下,左,数字表示基于图片边框的切割位置

    border-image-slice: 52 26 26 26;
    border-image-slice: fill;
    border-image-slice: 26;

border-image-repeat

参数:

border-image-width

设置图片边框的宽度 --- 不会改变元素大小

与border-width设置效果相同,但是不会导致元素的实际大小改变。(会往里面挤内容区)
border-image-width: 20px;

border-image-outset

向元素外显示图片边框

图片外边框的位置,只能为整数,位移不会改变盒子的大小。

border-image-outset: 50px 30px;

border-image

简写

简写方式:

border-image: <border-image-source>
                ||<border-image-slice> [/<border-image-width> 
                || <border-image-repeat>]

border-radius

设置边框圆角效果。浏览器支持较好,应用非常广泛。

参数:


box-shadow

让元素显示阴影效果。应用非常广泛,主要用来呈现元素立体效果。

内阴影可以用来实现一些立体效果

参数:

解决IE低版本兼容性问题

border-radius:圆角

box-shadow:阴影
border-image:图片边框

引入外部文件

第一步:下载PIE.js项目压缩文档

第二步:解压缩文件。把PIE引入

<!--[if lte IE 8]>
<script type="text/javascript" src="../PIE/PIE_IE678.js"></script>
<![endif]-->

<!--[if IE 9]>
<script type="text/javascript" src="../PIE/PIE_IE9.js"></script>
<![endif]-->


<style type="text/css">
    .box {

        box-shadow: 0 0 50px 0 red;
        /*引入htc文件,让IE678支持圆角特性*/
        behavior: url("plugin/PIE.htc");
    }
    
</style>

第三步:编写CSS3样式

第四步:behavior: url(path/to/pie_files/PIE.htc);

第五步:在IE下查看


outline

元素轮廓

外轮廓不会改变元素盒子大小

语法 [ <'outline-color'> || <'outline-style'> || <'outline-width'> ]

outline-color

外轮廓颜色

outline-style

外轮廓样式

可选值:

outline-width

外轮廓宽度

outline-offset:

外轮廓偏移量,不会导致盒子大小改变。


resize

设置用户可调整盒子大小属性

注意事项:resize 必须搭配 overflow: auto;

可选参数:


padding

内边距


margin

外边距

垂直外边距重叠

设置负外边距

使用负外边会产生一个元素“悬浮”在另一个元素上面的效果。
注意:被覆盖的元素文本内容不会被覆盖!

使用场景:左侧自适应,右侧固定宽度布局效果为浮动元素(.box)设置右侧外边距为负右侧外边距绝对值等于紧邻兄弟元素的宽度为紧邻兄弟元素设置左浮动


计算函数

width: calc(200px - 1px);
width: calc(200px + 100px);
width: calc(200px / 2);

内联元素盒子模型

上一篇 下一篇

猜你喜欢

热点阅读