美文网首页
css border-radius的用法及自适应的椭圆

css border-radius的用法及自适应的椭圆

作者: Carrie_Gu | 来源:发表于2018-03-12 16:44 被阅读0次

文章摘自:https://www.cnblogs.com/rain-null/p/6688542.html

css border-radius的用法及自适应的椭圆

我们知道border-radius允许您为元素添加圆角边框!

而border-radius 属性是一个简写属性,用于设置四个 border-*-radius 属性。

如果省略 bottom-left,则与 top-right 相同。如果省略 bottom-right,则与 top-left 相同。如果省略 top-right,则与 top-left 相同。

先看个例子。

如果将有个正方形元素设置一个border-radius值为边长的一半,则可以得到一个圆形。

<pre style="margin: 0px; padding: 0px; white-space: pre-wrap; word-wrap: break-word; font-family: "Courier New" !important; font-size: 12px !important;">width: 200px;height: 200px;border-radius: 100px;background: brown;</pre>

效果图:

image

这里宽高是固定的且相等,如果宽高不相等则显示为一个椭圆。

宽高不等效果图:

image

自适应椭圆

由于根据实际情况出发,我们希望它能根据实际的内容自动调整并适应。

解决方案:

一个鲜为人知的秘密,border-radius可以单独设置水平和垂直的半径,只需要用一个斜杠(/)分隔这二个值就行。此外我们还要知道border-radius不仅可以接受长度值还可以接受百分比值。

<pre style="margin: 0px; padding: 0px; white-space: pre-wrap; word-wrap: break-word; font-family: "Courier New" !important; font-size: 12px !important;">width: 150px;height: 100px;border-radius: 50%/50%; //简写属性:border-radius:50%
background: brown;</pre>

只需这一行简单的代码就可以完成自适应的椭圆了。很神奇吧。

半椭圆

我们知道border-radius是个简写属性,它得展开式:

border-top-left-radius

border-top-right-radius

border-bottom-right-radius

border-botom-left-radius

这四个字如上的顺序,从左上角开始顺时针应用到元素其他三个角上。

但是真正简介的写法还是使用border-radius这个简写属性,只需对应上面的规则,用空格分开多个值,也能达到展开式的效果。

如果只提供了三个值:1 2 3 则第4个值和第2个值相同。如果只提供了二个值:1 2 则1 3相同,2 4值相同。

我们甚至可以为四个角设置不同的水平和垂直半径,方法就是在斜杠前指定一到四个值,斜杠后指定一到四个值。

<pre style="margin: 0px; padding: 0px; white-space: pre-wrap; word-wrap: break-word; font-family: "Courier New" !important; font-size: 12px !important;"> width: 150px;height: 100px;border-radius: 50%/0 0 100% 100%;background: brown;</pre>

image

变换一下:

<pre style="margin: 0px; padding: 0px; white-space: pre-wrap; word-wrap: break-word; font-family: "Courier New" !important; font-size: 12px !important;"> width: 150px;height: 100px;border-radius: 50%/100% 100% 0 0;background: brown;</pre>

image

来一个小红帽:

<pre style="margin: 0px; padding: 0px; white-space: pre-wrap; word-wrap: break-word; font-family: "Courier New" !important; font-size: 12px !important;"> width: 150px;height: 100px;border-radius: 50%/50% 50% 0 0;background: brown;</pre>

image

<pre style="margin: 0px; padding: 0px; white-space: pre-wrap; word-wrap: break-word; font-family: "Courier New" !important; font-size: 12px !important;"> width: 150px;height: 100px;border-radius: 100% 0 0 100%/ 50%;background: brown;//沿着纵轴切开的椭圆</pre>

image

同理,可以得出:

<pre style="margin: 0px; padding: 0px; white-space: pre-wrap; word-wrap: break-word; font-family: "Courier New" !important; font-size: 12px !important;"> width: 150px;height: 100px;border-radius: 0 100% 100% 0/ 50%;background: brown;</pre>

image

四分之一的椭圆

那么,有办法得到四分之一椭圆呢?我们从效果图看出,创建一个四分之一的椭圆,只要一个角的水平和垂直半径值都需要是100%,

而其他三个角都不能设圆角。因为四个角的水平和垂直半径方向上是相同的,所以不需要用斜杠语法了。

所以

<pre style="margin: 0px; padding: 0px; white-space: pre-wrap; word-wrap: break-word; font-family: "Courier New" !important; font-size: 12px !important;"> width: 150px;height: 100px;border-radius:0 0 100% 0;background: brown;</pre>

效果如下:

image

相关文章

  • css border-radius的用法及自适应的椭圆

    文章摘自:https://www.cnblogs.com/rain-null/p/6688542.html css...

  • CSS中的形状变换

    1.自适应椭圆 思路:border-radius可以单独指定水平和垂直半径,用百分比来表示 半椭圆 思路:bord...

  • 椭圆

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

  • 通过拆分插件来学习做css立体图

    1、css写好如下图 程序如下: 2、椭圆造型 #pbtn{ border-radius:200px /100px...

  • css3的一些简单效果笔记

    1 用css实现一段弧形 主要是利用border-radius的一个方向 2 用css实现一段半圆 3弧形 4椭圆...

  • CSS揭秘之形状

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

  • css:border-radius 用法

    border-radius语法 也可以分开写,比如: 支持相对单位和绝对单位,第一个值为 x 轴方向的半径 (ra...

  • 【css3】自适应的椭圆

    border-radius:50%;

  • CSS文章整理

    CSS Module CSS Modules 详解及 React 中实践CSS Modules 用法教程

  • border-radius使用

    在 CSS3 中,border-radius 属性用于创建圆角 用法: 除了上面的方法,还有一种设置方法 这种写法...

网友评论

      本文标题:css border-radius的用法及自适应的椭圆

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