从css3书写顺序引出来的border-radius参数

本鱼表示偶已经不会取标题了。。。

当时写这篇文章主要是想探讨一下优雅降级和渐进增强的区别,按照正常的逻辑思维,不管是降级还是增强,应该对于效果是没什么区别的,因为后者会覆盖前者,但今天无意看到张鑫旭的一篇文章,关于CSS3属性的书写顺序(10年的,原谅我的孤陋寡闻T_T),标准的css3属性和带webkit的前缀在某些情况是不一样的效果,比如border-radius和-webkit-border-radius带两个参数时,显示的效果并不一样:

.not-a-square {
   border-radius: 30px 10px; /*让box左上和右下角为30像素圆弧,左下角和右上是10像素圆弧*/
   -webkit-border-radius: 30px 10px; /*box渲染为每个角都是30像素宽10像素高的圆弧*/
}

展示结果(直接借图啦,当然本鱼也实践过了,确实如此~):

顺便带出一下border-radius的参数:

据w3c上的官方解释,是这样子的:

border-radius: 1-4 length|% / 1-4 length|%;1-4指的是radius的四个值,length和%指的是值的单位。

写过border的人都知道border可以带四个参数分别设置四个边框(上左下右的顺序),同样的,border-radius也可以带四个参数,并且以顺时针的方向解析,上左,上右,下右,下左:

.box{
    border-radius: 5px 10px 20px 50px
}

展示结果:

两个参数的时候,是上左和下右,上右和下左,比如.div1{border-radius: 2em 1em},就不截图了,直接demo

三个参数的时候,是上左,上右和下左,下右,比如.div1{border-radius: 2em 1em 3em},demo

那么以斜杠/分开后面的参数是怎么回事呢?是这样子的,第一个参数表示圆角的水平半径,第二个参数表示圆角的垂直半径,所以你现在就可以画一个左右不对称的圆角啦:

.div1{border-radius: 2em/1em}

看到这里你会不会以如果四个圆角都要分别制定特殊的形状,是不是 2em/1em , 1em/0.5em, 3em/1em, 1em/1em像上面那个四个参数一样的设定(我就是这么以为的),答案是错!误!的!因为官方的解释就是前面放1-4后面放1-4啊!鱼不是被吃掉的就是被笨s的~

.div1{
        border-radius:10px 20px 30px 40px/40px 30px 20px 10px
}

按顺时针的顺序,斜杠/左边是四个圆角的水平半径,右边是四个圆角的垂直半径,但是通常我们很少写右边的参数,那就是默认右边等于左边的值。当然你也可以省略一些值,比如这样子写.div1{border-radius: 2em 1em 4em / 0.5em 3em;},解析顺序你就可以按照上面的自己推算一下啦。

然后再回到张老师的那个-weibkit前缀下的问题{-webkit-border-radius:30px 10px}实际上就等于{border-radius:30px/10px},效果是一样的,至于为什么,我也还不知道,张老师说background-image也有此问题,姐明天再瞧瞧,back home~

参数:http://www.zhangxinxu.com/wordpress/2010/09/%E9%9C%80%E8%AD%A6%E6%83%95css3%E5%B1%9E%E6%80%A7%E7%9A%84%E4%B9%A6%E5%86%99%E9%A1%BA%E5%BA%8F/

  http://www.w3school.com.cn/cssref/pr_border-radius.asp

从css3书写顺序引出来的border-radius参数

时间: 2024-10-10 15:31:56

从css3书写顺序引出来的border-radius参数的相关文章

[css]需警惕CSS3属性的书写顺序

转载张鑫旭:http://www.zhangxinxu.com/wordpress/2010/09/%E9%9C%80%E8%AD%A6%E6%83%95css3%E5%B1%9E%E6%80%A7%E7%9A%84%E4%B9%A6%E5%86%99%E9%A1%BA%E5%BA%8F/ 一.不同书写顺序示例 首先是比较聪明和值得推荐的写法: .not-a-square { -webkit-border-radius: 10px; -moz-border-radius: 10px; borde

无废话网页重构系列——(9)习惯:书写顺序

本文作者:大象本文地址:http://www.cnblogs.com/daxiang/p/4662034.html 以书写顺序来结束<无废话网页重构>系列,是最好不过的了,因为,动手实践是发现.总结和收获的最好途径. 一.基本排版规范 小写.单行.多行选择器用逗号分行.每属性分号分割.单引号.缩进: 二.选择器内属性的顺序和组织 影响文档流的属性(display, position, float, clear, visibility, table-layout) 自身盒模型的属性(width,

整理推荐的CSS属性书写顺序

一. Mozilla 建议CSS规则 <span style="font-family:Microsoft YaHei;">/* Suggested order:    * display    * list-style    * position    * float    * clear    * width    * height    * margin    * padding    * border    * background    * color    * 

CSS属性书写顺序

常用css样式中属性的书写顺序 一.position display float 二.盒子模型的属性 width , height , border , margin , padding 三.文字等相关属性 color, font, line-height, text-align, vertical-align, background 四.opacity, cursor

书写顺序

书写顺序:符合浏览器的渲染顺序 /*显示属性*/ /*自身属性*/ /*文本属性*/ display width color visibility height font list-style margin text-decoration position padding vertical-align float border white-space clear background ohter text content

Mozilla推荐的CSS属性书写顺序及命名规则

传说中的Mozilla推荐 Java代码   /* mozilla.org Base Styles * maintained by fantasai */ /* Suggested order: * display * list-style * position * float * clear * width * height * margin * padding * border * background * color * font * text-decoration * text-alig

CSS书写顺序

CSS书写顺序 1.位置属性(position, top, right, z-index, display, float等) 2.大小(width, height, padding, margin) 3.文字系列(font, line-height, letter-spacing, color- text-align等) 4.背景(background, border等) 5.其他(animation, transition等) CSS书写规范 使用CSS缩写属性 CSS有些属性是可以缩写的,比

css书写顺序和常用命名推荐

写代码的时候有一个好的规范和顺序能够帮你节省很多时间.下文将推荐相关CSS书写顺序和规范的一些方法.这个文档将会整理进前端规范文档中,如果你有更好的意见,不妨留言告知我们. CSS书写顺序 该代码来自于互联网,最初好像是Mozilla的网站上. 1. Display & Flow(显示与流) 2. Positioning(位置) 3. Dimensions(尺寸) 4. Padding, Borders,Margins,Outline(填充.边界.边缘.轮廓) 5. Typographic St

CSS样式书写顺序

CSS样式还有书写顺序? 样式还有书写顺序?样式这么简单的东西,不是随便写写就行的么.很多初学者,甚至有一定工作经验的人都会发出这种疑问.而样式的书写顺序到底对页面有没有影响呢?答案是肯定的.如何写出好的css样式也是一个优秀的开发者必须要知道的!而且应该养成习惯,融入到开发中!好的习惯不是一点养成的. 为什么要注意书写顺序? 减少浏览器reflow(回流),提升浏览器渲染dom的性能 浏览器渲染原理 ①:解析html构建dom树,解析css构建css树:将html解析成树形的数据结构,将css