border-radius

1 border-radius 私有前缀

浏览器个把年前就把私有前缀给去掉了,现在完全没必要还傻傻使用-webkit-border-radius-moz-border-radius

2 border-radius百分比值

是相对于元素占据尺寸的百分比(类似jQuery outerWidth()/outerHeight()方法代表尺寸),也就是包含边框,padding后的尺寸。而不是单纯地相对于width/height

我们将border-radius: 300px还原成其整容前的模样,结果是:

border-radius: 300px 300px 300px 300px/300px 300px 300px 300px;
border-radius: 左上角水平圆角半径大小 右上角水平圆角半径大小 右下角水平圆角半径大小 左下角水平圆角半径大小/左上角垂直圆角半径大小 右上角垂直圆角半径大小 右下角垂直圆角半径大小 左下角垂直圆角半径大小;

demo:设置的是200像素*300像素,border-radius:200px 0px 0xp 0px/300px  0 0 0;结果最后右上角显示的却是200像素*200像素半径下的圆弧效果,这显然不符合认知啊!!

实际上是这样的,CSS3圆角除了大值特性,还有一个等比例特性,就是水平半径和垂直半径的比例是恒定不变的。

回到上面例子,由于我们的元素占据宽度200像素,高度300像素。所以,根据大值特性,水平方向的300像素只能按照200像素半径渲染;再根据等比例特性,虽然垂直方向理论上的最大半径是300像素,但是受制于当初设定的300px*300px1:1比例,垂直方向最终渲染的半径大小也是200像素。于是,我们最后得到的只是一个200像素*200像素的圆弧。

第三节末尾所提到的“反而因为值设大了”就是指的这个。

可能有人会疑问,那该如何设置才能实现等同于border-radius:50%(显示椭圆)的效果呢。哈哈,如果你理解了上面的内容,其实就很简单了,最关键的一点就是比例关系。我们的元素占据的尺寸是200像素*300像素。所以,只要让水平半径和垂直半径保持2:3的比例就可以了,然后,可以利用“大值特性”设一个你认为安全的值就可以了。

demo{

width:200px;height:300px;background-color: red;-webkit-border-radius: 200px/300px ;-moz-border-radius: 200px/300px ;border-radius: 200px/300px;

}

<div class="demo"></div>

来自:http://www.zhangxinxu.com/wordpress/2015/11/css3-border-radius-tips/

时间: 2024-11-10 12:26:24

border-radius的相关文章

jquery/zepto 圣诞节雪花飞扬

下载地址: http://www.html5tricks.com/jquery-html5-christ-snow.html 演示地址: http://www.html5tricks.com/jquery-html5-christ-snow.html 个人的demo: 新建并且引用以下js文件: (function($){ $.snowfall = function(element, options){ var defaults = { flakeCount : 35, flakeColor :

CSS3 基本知识

1.CSS3 简介 CSS 指层叠样式表 (Cascading Style Sheets),用于控制网页的样式和布局,CSS3 是最新的 CSS 标准. 在网页制作时采用层叠样式表,可以有效的对页面的布局.字体.颜色.背景和其他效果实现更加精确的控制,只要对相应的代码做一些简单的修改,就可以改变同一页面的不同部分.通过仅仅编辑一个简单的 CSS 文件,外部样式表有能力同时改变站点中所有页面的布局和外观. CSS3 语言开发是朝着模块化发展的.之前的规范作为一个模块很庞大而且比较复杂,所以 CSS

Opening the box Model

How Are Elements Displayed? Every element has a default display property value, Things get interesting with the inline-block value. Using this value will allow an element to behave as a block-level element, accepting all box model properties (which w

2016.3.16__CSS3_选择器_边框_背景_蒙版mask__第九天

CSS3 假设您认为这篇文章还不错.能够去H5专题介绍中查看很多其它相关文章. 今日课程预览 1. CSS3 的选择器 1.1 子选择器 比如:设置div下一级的p标签的颜色属性 div>p { background-color:yellow; } 1.2 相邻兄弟选择器 解释:可选择紧接在还有一元素后的元素,且二者有同样父元素. 假设想属性设置成功:则必须满足几个条件: 1.要有一个h1标签: 2.要有一个p标签. 3.是同级兄弟关系: 4.必须相邻的兄弟关系. h1 + p { margin

为什么要使用sass

或许你已经听过一个叫作Sass的东东?可能你已经了解它,并且你能像大师一样写出一些函数? 对于不清楚我在讲什么的读者或者客户,你们可以想想web开发过程,你们的期望和站点用户的体验想要怎样的.无论如何,我都要给大家分享一下,为什么我认为Sass是一个很好的东西. 对于那些不熟悉web前端开发的人,Sass和CSS或许只是一些让人感觉凌乱的词语,但就是这些词语,对于幕后的开发过程是很重要! 优势总结 易维护,更方便的定制 对于一个大型或者稍微有规模的UI来说,如果需要替换下整体风格,或者是某个字体

Quartz2D复习(一)--- 基础知识 / 绘制线段圆弧 / 图片水印 / 截图

1.Quartz 2D是一个二维绘图引擎,同时支持ios和Mac系统: Quart2D的API是纯C语言的,API来自于Core  Graphics框架: 2.Quartz 2D可以绘制图形(线段/三角形/矩形/圆和弧).绘制文字.绘制和生成图片.读取/生成pdf.截图/裁剪图片.自定义UI控件等 3.对于界面复杂且个性化的UI,普通的UI控件无法实现,而Quartz2D技术却可以通过自定义UI控件来实现.其实,ios中大部分控件的内容都是通过Quart2D画出来的 4.图形上下文(Graphi

CSS3 - 初识CSS3

.navdemo{ width:560px; height: 50px; font:bold 0/50px Arial; text-align:center; margin:40px auto 0; background: #f65f57; /*制作圆*/ border-radius:5px; /*制作导航立体风格*/ box-shadow:0 5px 5px 0px gray; } .navdemo a{ display: inline-block; -webkit-transition: a

QML官方系列教程——Use Case - Style And Theme Support

附网址:http://qt-project.org/doc/qt-5/qtquick-usecase-styling.html Use Case - Style And Theme Support-- 用例 - 风格和主题支持 Qt Quick模块提供的类型并不能独立地覆盖用户界面所需要的所有组件.一个常见的做法是通过Qt Quick的基本模块开发一套自定义样式的用户界面组件.通过可复用组件我们很容易做到这一点. 通过使用可复用组件的方式,你可以定义该组件在程序中需要呈现的外观,并直接为它设计一

6个原则、50条秘技提高HTML5应用及网站性能

Jatinder Mann是微软Internet Explorer产品的一名项目经理,在BUILD 2012大会上,他做了题为“提高HTML5应用和网站性能的50条秘技(50 performance tricks to make your HTML5 apps and sites faster)”的演讲,介绍了很多为Web应用程序提速的技巧. Mann的建议是按照下面六个原则组织的. 1. 快速响应网络请求. 避免重定向.排名前1000的网站中,63%使用了重定向.如果不执行重定向的话,页面速度

CSS(三):基本属性二

border-width border-color border-style border-width 简写属性为元素的所有边框设置宽度,或者单独地为各边边框设置宽度. 只有当边框样式不是 none 时才起作用.如果边框样式是 none,边框宽度实际上会重置为 0.不允许指定负长度值. border-color 属性设置四条边框的颜色.此属性可设置 1 到 4 种颜色. border-color 属性是一个简写属性,可设置一个元素的所有边框中可见部分的颜色,或者为 4 个边分别设置不同的颜色.