border-radius:50%和100%究竟有什么区别

 之前写css圆形时总是直接设置border-radius为50%。后来看某css动画网站时发现作者都是用的100%。遂去了解了一下2者的差别。

  border-radius的值是百分比的话,就相当于盒子的宽度和高度的百分比。我们知道在一个正方形内做一个面积最大的圆形,这个圆的半径就为正方形边长的一半。所以border-radius为50%时,则会形成圆。那么可能有人就会问,border-radius为100%时,对应圆的半径长度不就是正方形的宽高么,这种情况下,为什么还是会形成一个和值为50%一样的圆形呢。

  其实这是W3C对于重合曲线有这样的规范:如果两个相邻角的半径和超过了对应的盒子的边的长度,那么浏览器要重新计算保证它们不会重合。下面我们假定一个宽高为100px的正方形A。此时设置border-top-left-radius=100%;则正方形A会变成一个半径为100px的四分之一圆弧。

  然后我们再给border-top-right-radius=100%。此时相邻的角的半径已经超过了对应的盒子的边的长度。浏览器需要重新计算。重新计算的规则是同时缩放两个圆角的半径知道他们刚好符合这个方形。 也就是说如果相邻圆角的半径都被设置成了大于50%,那浏览器会根据图形的实际情况做一些计算。保证圆角能够刚好适应图形。

  建议使用border-radius = 50% 来避免浏览器不必要的计算。值得注意的是在涉及到与圆角相关动画的情况下,值为50%和100%,在动画效果上会有不同。

时间: 2024-10-23 23:23:49

border-radius:50%和100%究竟有什么区别的相关文章

border-radius:50%和100%的区别

border-radius 值类型-百分比 border-radius的值是百分比的话,就相当于盒子的宽度和高度的百分比. 我们知道在一个正方形内做一个面积最大的圆形,这个圆的半径就为正方形边长的一半.所以border-radius为50%时,则会形成圆.那么可能有人就会问,border-radius为100%时,对应圆的半径长度不就是正方形的宽高么,这种情况下,为什么还是会形成一个和值为50%一样的圆形呢. 其实这是W3C对于重合曲线有这样的规范:如果两个相邻角的半径和超过了对应的盒子的边的长

CSS的width:100%和width:auto区别

CSS的width:100%和width:auto区别 一.   问题 前段时间在调整树结构的时候,发现如果树的节点名称比较长的话在IE6下则不会撑开外面的元素,导致节点的名称只显示了一半,同时图标和名称换行显示了,但是在IE8和IE9下则显示正常.定位到问题后,最终发现是下面的属性导致的,如下图红色所致,把width的值设置为auto后即可解决问题: .TreeView,.TreeView ul{ padding:0px 0px 0px  19px; list-style:none; marg

有n个人正在饭堂排队买海北鸡饭。每份海北鸡饭要25元。奇怪的是,每个人手里只有一张钞票(每张钞票的面值为25、50、100元),而且饭堂阿姨一开始没有任何零钱。请问饭堂阿姨能否给所有人找零(假设饭堂阿姨足够聪明)

思路: 一个数组存储n个人的费用,另一个集合来存所要找的零钱,考虑顺序 代码: import java.util.ArrayList; import java.util.Scanner; public class Main{ public static void main(String[] args) { ArrayList<Integer> list = new ArrayList<>(); Scanner sc = new Scanner(System.in); int n =

利用Java API生成50到100之间的随机数

/** * */ package com.you.demo; import java.util.Random; /** * @author Administrator * */ public class RandomNum { /** * @param args */ public static void main(String[] args) { Random rand = new Random(); System.out.println(rand.nextInt(50)+50); } } 结

MySQL:如何选取Table中的50到100行

使用查询语句的时候,经常要返回前几条或者中间某几行数据,这个时候怎么办呢?不用担心,MySql已 经为我们提供了这样一个功能. ? 1 2 [sql]  SELECT * FROM table   LIMIT [offset,] rows | rows OFFSET offset LIMIT 子句可以被用于强制 SELECT 语句返回指定的记录数.LIMIT 接受一个或两个数字参数.参数必须是一个整数常量. 如果给定两个参数,第一个参数指定第一个返回记录行的偏移量,第二个参数指定返回记录行的最大

css width=&quot;100&quot; style =&quot;width:100px&quot; 区别

1. width="100"是正确的,而 width="100px"是错误的, style = "width:100px"是正确的 2. style ="width:100px"优先级较高 3. 只有有限的元素支持width="100"属性,例如table, td等 4. JQuery中获取width如下 <div style="width:200px;height:200px;"

background-size中,100%和cover的区别

background-size中,100%和cover都是用于将图片扩大或者缩放来适应整个容器 background-size:100% 100%;---按容器比例撑满,图片变形: background-size:cover;---把背景图片放大到适合元素容器的尺寸,图片比例不变,但是要注意,超出容器的部分可能会裁掉. 当为百分比的时候,100%和100%,100%也会显示不一样的效果: background-size:这个属性有两个值,第一个值为x轴方向的缩放比例或者px,第二个值为y轴方向的

background-size值为100% 100%和cover的区别

background-size:100%100%;---按容器比例撑满,图片变形: background-size:cover;---把背景图片放大到适合元素容器的尺寸,图片比例不变. 下图是添加background-size:100% 100% 后的背景图效果,背景图被拉伸后有点失真 下图是添加background-size: cover 后的背景图效果,背景图被拉伸后背景图不能全部显示 它们的区别: background-size:100% 100%把背景图进行横向和纵向的拉伸,图片比例随之

lua的ipair与pair究竟有什么区别

先看看官方手册的说明吧: pairs (t)If t has a metamethod __pairs, calls it with t as argument and returns the first three results from the call. Otherwise, returns three values: the next function, the table t, and nil, so that the construction for k,v in pairs(t)