- 1、本文档共8页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
灵活的椭圆形
灵活的椭圆形
原⽂出处:http://www ./css3/css-secrets/flexible-ellipses.html
问题
你可能注意过,在很多时候任何⽅形元素都可以直接应⽤⼀个 常⼤的border-
radius来变成圆形,⽤类似下⾯这样的CSS代码:
background: #fb3;
width: 200px;
height: 200px;
border-radius: 100px; /* 边⻓的⼀半 */
图注:⼤⼩固定,border-radius的值为边长⼀半,对应⽣成的圆
你也可以指定⼤于100px的border-radius,这同样会⽣成⼀个圆。原因请阅读规
范:
当任何两个相邻边框半径之和超过了边框盒的尺⼨,客户端必须按⽐例
减⼩所有边框半径的值,直到它们相互之间没有重叠。 — CSS
Backgrounds Borders Level 3
但是,我们的元素并不能总是指定固定的宽度和⾼度,因为我们希望它能够根据⾃⼰
的内容⾃适应,⽽最后的元素⼤⼩是⽆法预知的。即使我们正在设计⼀个静态⽹站,
⽽且它的内容是预先确定的,某个时候我们可能也想要进⾏修改;或者它可能会根据
不同的度量显⽰成降级的字体。在这种情况下,如果它的宽度和⾼度不完全相等,我
们通常希望它变成⼀个椭圆;如果相等,则为圆。但是,我们前⾯的代码却不是这样
的。当宽度⼤于⾼度时,它的结果下图所⽰。
图注:前⾯的⽰例,当宽度⼤于⾼度时的情况;border-radius的圆在这⾥⽤虚线
绘出
我们可以⽤border-radius做⼀个椭圆,⽽且是灵活的椭圆吗?
解决⽅案
⼀个鲜为⼈知的内容是:border-radius接受⽔平和垂直⽅向不同值,使⽤斜杠(/)
来分隔它们。这可以让我们在圆⾓处取整来创建椭圆。
图注:⽔平和垂直⽅向border-radius值不同的盒⼦;现在我们的圆⾓曲线变成了
那个我们指定的border-radius值的椭圆,这⾥⽤虚线表⽰
所以,如果我们有⼀个200px × 150px尺⼨的元素,我们可以把它变成⼀个⽔平和
垂直半径分别对应为其宽度和⾼度值⼀半的椭圆:
border-radius: 100px / 75px;
你看到结果如下图所⽰:
图注:应⽤不同的border-radius曲线创建的椭圆
但是,这有⼀个 常⼤的缺陷:如果元素尺⼨发⽣变化,border-radius的值也必
须相应改变。你可以下图中看到border-radius的结果,如果我们把上边的半径应
⽤给⼀个200px × 300px的元素。如果我们的元素尺⼨依赖于内容,问题就出现
了。
图注:尺⼨变化会破坏我们的椭圆;但是好的⼀点是,这种形状在⼀些圆柱中 常好
⽤ !
border-radius的另⼀个鲜为⼈知的特性是它还接受百分⽐值,不只是长度值。百
分⽐可以解析为相应的尺⼨,⽔平半径的宽度和垂直半径的⾼度。这意味着相同的百
分⽐可以计算出不同的⽔平半径和垂直半径。因此,为了创建灵活椭圆,我们可以给
半径应⽤50%:
border-radius: 50% / 50% ;
因为斜杠前后的值是⼀样的 (尽管它们计算出的是不同的值),我们可以把它进⼀步
简化为:
border-radius: 50% ;
结果就是只⽤⼀⾏CSS就可以创建出灵活的椭圆,不必考虑元素的宽度和⾼度。
为什么要使⽤border-radius?
很多⼈好奇border-radius为什么叫这个名字,因为它的使⽤不涉及到边框。叫
corner-radius还更合适⼀些。这样叫的原因是border-radius包裹了元素的边
框盒的边缘。如果元素没有边框的话,就没有任何区别了,但是如果有边框,它就是
边框的外圆⾓。内圆⾓的近似值较⼩ (max(0, border-radius - border-
width)⽐较精确)。
半椭圆
现在我们已经知道如何⽤CSS创建⼀个灵活的椭圆,⾃然⽽然我们就会想到我们是否
可以创建其它常见的形状,⽐如椭圆的⼀部分。我们可以花点时间来看看如何创建⼀
个半椭圆。
图注:⼀个半椭圆
⼀个半椭圆在宽度等于⾼度两倍的时候,可以变成⼀个半圆 (或当⾼度
是宽度的两倍,椭圆沿着横轴剪断)。
它是相对于纵轴对称的,但不相对于横轴对称。即使我们还⽆法知道确切的border-
radius的值 (它可以是所有可能的值),对于每个⾓我们需要不同的半径值这点是
很明确的。但是,我们⽬前尝试过的是四个⾓都⽤同⼀
您可能关注的文档
- 有关显影液的专利.pdf
- 朱宗宙:两淮盐运史上几次灾难事故.pdf
- 机器人世界杯上的易格斯轴承.PDF
- 李云迪唱王力宏落叶归根.PDF
- 李白上课用的.ppt
- 林(果)粮间作中树木枯落叶对小麦发芽期和苗期的化感效应.PDF
- 某复杂平面基坑支护结构水平位移监测及加固.pdf
- 枫树意象的文化象征.PDF
- 校史资料汇编.pdf
- 李源秦千惠分获男女组冠军.pdf
- 中考语文复习专题二整本书阅读课件.ppt
- 中考语文复习积累与运用课件.ppt
- 2025年初中学业水平考试模拟试题(二)课件.ppt
- 四川省2015届理科综合试题48套第12套.pdf
- 【课件】战争与和平—美术作品反映战争+课件-2024-2025学年高中美术湘美版(2019)美术鉴赏.pptx
- 【课件】青春牢筑国家安全防线 课件 2024-2025学年高中树立总体国家安全观主题班会.pptx
- 【课件】原始人的创造+课件高中美术湘美版(2019)美术鉴赏.pptx
- 上海证券-美容护理行业周报:流量加快去中心化,强运营头部品牌影响较小 -2024-.pdf
- T_CSEIA 1005—2023_能源工业互联网平台数据治理要求.pdf
- T_CDSA 504.16-2023_急流救援技术培训与考核要求.pdf
文档评论(0)