上面这样的设置 div 在页面中实际站位是 104px,如果不注意很容易造成页面错乱。这是因为我们大部分情况下盒模型使用的是 W3C 标准的’box-sizing: content-box’,它在页面中实际宽度 = width+border( 该公式仅针对上面例子)。
border-image-source背景图片源
border-image-slice需要展示出来图片的尺寸,如果这个量等于图片的尺寸就都相当于整个图片展示出来
border-image-width图片边框的宽度。
border-image-outset边框图像区域超出边框的量。
border-image-repeat图片的填充形式
这个属性的兼容性不是很好,所以在正常的前端开发工作中很难用到,但是在不考虑兼容性的情况下,它无疑的一个很强大的属性,因为它可以自定义漂亮的边框,而不在是单调的线条。
这个属性使用并不太难,不过其中的border-image-slice属性在使用的时候有一个小技巧,就是当想要其中 image 不失真即不拉伸,slice 要和 width 一样。
例如:
.demo{border-width:20pxborder-image-slice:20}
.demo2{
width: 100px
height: 100px
background: #ccc
border-width: 20px
border-style: solid
border-image-source: url(./../img/border-image.jpg)
border-image-slice:20
border-image-outset:22px
border-image-repeat: repeat
}
order-image 使用时候一定要设定 border-style 虽然这个属性没什么用,但是如果不设定它 border-image 就不生效。
border-image-slice 如果设定数值当 px 用时候直接写数字就可以 如果加上 px 反而会不生效。
border-width 用来设定边框的宽度,它决定图片边框展示的厚度(即围绕宽度)。
不要让 border-radius 的 % 值大于 50,因为如果两个相邻的半径和超过了对应的盒子的边的长度,那么浏览器要重新计算以保证它们不重合。虽然表面上看没有问题但是这样会对性能有影响。
如果用 rem、em 单位在移动端用border-radius 画圆,在部分机型里面是椭圆的问题,可以通过 50% 来解决 ,或者使用 px 配合缩放 scale 来实现 rem 单位的效果。
在内联元素span这类标签使用这个属性的时候同样有效但是记得不要使用%这样会导致一些span 标签的圆角不一样因为 % 是参考长和宽计算的。
border-radius 圆角并不会隐藏标签内部元素的内容,如果有内容溢出的情况记得增加overflow:hidden
任何元素都可以使用这个属性,包括视频、音频标签等。
一般情况下不推荐 border-top-left-radius 这类的写法除非是需要在某种交互过程中需要改变其中一个的圆角值而其它的保持不变。因为这类的标签会影响浏览器渲染的性能。
使用这个属性可以让页面更有立体感,给元素添加一个阴影,使得元素看起来是悬浮在原来的位置,下面就看看它的用法吧。
效果如下图
它主要用来告诉浏览器怎么计算元素的展示宽高的。
推荐大家设置 box-sizing 为border-box 这样方便我们写样式不必在去减去 padding 也不会造成 IE 和 Chorme 这类浏览器展示不同的 bug 。如果不设置 box-sizing 不同浏览器会有不同的计算方式。
元素的边框 (border) 是围绕元素内容和内边距的一条或多条线。控制边框的属性是 border 属性。边框在HTML元素的修饰中几乎无时无刻都会用到,给网页设计带来更丰富的视觉体验,通过 CSS border 属性允许你规定元素边框的样式、宽度和颜色。--------------------------------------------------------------------------------边框与背景最新CSS2.1 作出了解释:元素的背景是包括内容、内边距和边框区。也就是说,当边框是间断的(例如,虚线),在边框间断的地方应该显示的是背景。大多数浏览器都遵循 CSS2.1 定义,不过一些较老的浏览器可能会有不同的表现。--------------------------------------------------------------------------------边框的样式边框样式将是所有网页设计师最为关心的一点,丰富的样式将会带来更美观的页面设计。CSS 的 border-style属性 定义了 10 个不同的样式,包括 none。例如,您可以为把一幅图片的边框定义为 outset,使之看上去像是“凸起的按钮”:img {border-style:outset} --------------------------------------------------------------------------------定义多种样式同理,您可以为一个边框定义多个样式,例如:.more {border-style: solid dotted dashed double} 上面这条规则定义了四种边框样式:实线上边框、点线右边框、虚线下边框和一个双线左边框。--------------------------------------------------------------------------------定义单边样式如果您希望为元素框的某一个边设置边框样式,而不是设置所有 4 个边的边框样式,可以使用下面的单边边框样式属性:1. border-top-style2. border-right-style3. border-bottom-style4. border-left-style因此这两种方法是等价的:.noleft {border-style: solid solid solid none}.noleft {border-style: solidborder-left-style: none} 注意:如果要使用第二种方法,必须把单边属性放在简写属性之后。因为如果把单边属性放在 border-style 之前,简写属性的值就会覆盖单边值 none。--------------------------------------------------------------------------------边框的宽度您可以通过 border-width 为边框指定宽度。为边框指定宽度有两种方法:1.可以指定长度值,比如 3px 或 1em;2.使用 3 个预设值,它们分别是 thin(细) 、medium(普通,默认值) 和 thick(粗)。所以,我们可以这样设置边框的宽度:.wid {border-style: solidborder-width: 5px} 或者:.wid {border-style: solidborder-width: thick}注释:CSS 没有定义 3 个关键字的具体宽度,所以一个用户代理可能把 thin 、medium 和 thick 分别设置为等于 5px、3px 和 2px,而另一个用户代理则分别设置为 3px、2px 和 1px。--------------------------------------------------------------------------------定义单边宽度您也可以通过下列属性分别设置边框各边的宽度:1. border-top-width2. border-right-width3. border-bottom-width4. border-left-width所以可以这样定义:.ya {border-style: solidborder-top-width: 10pxborder-right-width: 10pxborder-bottom-width: 15pxborder-left-width: 15px}--------------------------------------------------------------------------------为什么没有边框?在前面的例子中,您已经看到,如果希望显示某种边框,就必须设置边框样式,比如 solid 或 outset。那么如果忘记设置 border-style 属性 会出现什么情况呢?h1 {border-width: 20px} 尽管边框的宽度是 20px,但是在没有定义border-style 属性 的情况下,无论设置了宽度为多少,会自动将宽度设置为0。提示:这一点非常重要。事实上,因为忘记声明边框样式是一个初学者常犯的错误。--------------------------------------------------------------------------------边框的颜色设置边框颜色非常简单。CSS 使用border-color属性来控制边框颜色,它一次最多可以接受4个颜色值。您可以使用任何类型的颜色值,包括类似 命名颜色(red),RGB,十六进制:.col {border-style: solidborder-color: red}提示:如果没有为边框声明颜色,默认情况下它将与元素的文本颜色相同。另外,如果元素没有任何文本,则继承父元素的文本颜色,以此类推。--------------------------------------------------------------------------------定义单边颜色还有一些单边边框颜色属性。它们的原理与单边样式和宽度属性相同:1. border-top-color2. border-right-color3. border-bottom-color4. border-left-color要指定实线黑色边框,而右边框为实线红色,可以这样指定:.bla {border-style: solid直接用css属性值设置边线:border即可,还可以单独设置border-left,right,bottom,top。
用ccs3中的盒阴影设置,是一种固定写法: box-shadow:1px 1px red,inset 1px 1px red.