元素形状之“自适应的椭圆”

作者: adiu | 来源:发表于2016-06-17 10:46 被阅读155次

设计场景


  • 有时候我们不给元素指定固定的宽高,是希望它能 根据内容自动调整并适应
  • 如果宽高相等,就显示为一个圆;如果宽高不等,就显示为一个椭圆

解决方案


结构

<div class="box">
    <!-- 自适应的椭圆内容 -->
</div>

风格

.box {
  width: 200px;
  height: 200px;
  border-radius: 50%;
}

说明:这个百分比值是基于 元素的尺寸进行解析

写到这里小编提问:如何实现半椭圆呢?


  • 沿横轴劈开的上半椭圆
    结构
<div class="box">
    <!-- 半椭圆内容 -->
</div>

风格

.box {
    width: 256px;
    height: 160px;
    background-color: #fb3;
    border-radius: 50% / 100% 100% 0 0;
}
  • 沿横轴劈开的下半椭圆
    结构
<div class="box">
    <!-- 半椭圆内容 -->
</div>

风格

.box {
    width: 256px;
    height: 160px;
    background-color: #fb3;
    border-radius: 50% / 0 0 100% 100%;
}
  • 沿纵轴劈开的左半椭圆
    结构
<div class="box">
    <!-- 半椭圆内容 -->
</div>

风格

.box {
    width: 256px;
    height: 160px;
    background-color: #fb3;
    border-radius:  100% 0 0 100% / 50%;
}
  • 沿纵轴劈开的右半椭圆
    结构
<div class="box">
    <!-- 半椭圆内容 -->
</div>

风格

.box {
    width: 256px;
    height: 160px;
    background-color: #fb3;
    border-radius:  0 100% 100% 0 / 50%;
}

说明:border-radius 属性可以 单独指定水平和垂直半径,只要用一个斜杠(/)分隔这两个值即可

写到这里小编再次提问:如何实现四分之一椭圆呢?


结构

<div class="box">
    <!-- 半椭圆内容 -->
</div>

风格

.box {
  width: 256px;
  height: 160px;
  background-color: #fb3;
  border-radius:  100% 0 0 0;
}

说明:创建四分之一椭圆要满足的条件,其中一个角的水平和垂直半径值都设为100%,其它三个角都设为0

《CSS SECRETS》

相关文章

  • 元素形状之“自适应的椭圆”

    设计场景 有时候我们不给元素指定固定的宽高,是希望它能 根据内容自动调整并适应 如果宽高相等,就显示为一个圆;如果...

  • 椭圆

    自适应的椭圆我们希望使用border-radius来达到这样一个效果:如果元素宽高相等则显示为圆;否则,显示为椭圆...

  • svg入门详解(实例篇)

    一、SVG形状 SVG有一些预定义的形状元素,可被开发者使用和操作: 矩形 圆形 椭圆...

  • d3画svg基本图形以及贝塞尔曲线

    svg中预定义了7中形状元素,分别是矩形(rect)、圆形(circle)、椭圆(ellipse)、线段(line...

  • 设计概论

    ☻协调 协调( Harmony)指的是对线条、形状、色彩、方向、肌理、大小等造型元素作相似性组合。譬如:圆形与椭圆...

  • SVG 基础形状

    SVG有一些预定义的形状元素,可被开发者使用和操作: 矩形 圆形 椭圆

  • CSS揭秘之形状

    一.自适应的椭圆 问题: 我们肯定都注意到过,我们给一个正方形元素添加一个足够大的border-radius(指定...

  • CSS3技巧之形状(椭圆)

    回顾那个只能用图片展示形状的日子,之前接触前端的小伙伴们,大家一定会有颇多感触,好在现在我们可以使用纯CSS实现更...

  • EXCEL2007/2010 圆形预览打印变椭圆解决方法

    问题现象:打印excel中的圆形形状,变成椭圆,打印预览也是椭圆 按着shift插入的形状,打印预览时候是,打出来...

  • 外层元素固定宽度 内部同行两元素宽度自适应处理

    右侧元素根据左侧元素自适应

网友评论

  • 烦浅:写的挺好 不过不支持钉子户IE9以下 另外safari 和 firefox 建议 加上前缀 -webkit- 和 -moz-, 还是需要提提兼容性的吧
    烦浅:@adiu 嗯 确实 兼容性这玩意太在意就会 限制手脚
    adiu:@李树下的天空 浏览器前缀是要加,但建议应用一些工具来做;至于兼容性,个人的观点是,向下兼容即可,不要把IE系列的浏览器作为技术上的一个约束
  • Y_R:有空试试

本文标题:元素形状之“自适应的椭圆”

本文链接:https://www.haomeiwen.com/subject/agqvdttx.html