css border-radius的用法及自适应的椭圆
我们知道border-radius允许您为元素添加圆角边框!
而border-radius 属性是一个简写属性,用于设置四个 border-*-radius 属性。
如果省略 bottom-left,则与 top-right 相同。如果省略 bottom-right,则与 top-left 相同。如果省略 top-right,则与 top-left 相同。
先看个例子。
如果将有个正方形元素设置一个border-radius值为边长的一半,则可以得到一个圆形。
width: 200px;height: 200px;border-radius: 100px;background: brown;
效果图:

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

自适应椭圆
由于根据实际情况出发,我们希望它能根据实际的内容自动调整并适应。
解决方案:
一个鲜为人知的秘密,border-radius可以单独设置水平和垂直的半径,只需要用一个斜杠(/)分隔这二个值就行。此外我们还要知道border-radius不仅可以接受长度值还可以接受百分比值。
width: 150px;height: 100px;border-radius: 50%/50%; //简写属性:border-radius:50%
background: brown;
只需这一行简单的代码就可以完成自适应的椭圆了。很神奇吧。
半椭圆
我们知道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值相同。
我们甚至可以为四个角设置不同的水平和垂直半径,方法就是在斜杠前指定一到四个值,斜杠后指定一到四个值。
width: 150px;height: 100px;border-radius: 50%/0 0 100% 100%;background: brown;

变换一下:
width: 150px;height: 100px;border-radius: 50%/100% 100% 0 0;background: brown;

来一个小红帽:
width: 150px;height: 100px;border-radius: 50%/50% 50% 0 0;background: brown;

width: 150px;height: 100px;border-radius: 100% 0 0 100%/ 50%;background: brown;//沿着纵轴切开的椭圆

同理,可以得出:
width: 150px;height: 100px;border-radius: 0 100% 100% 0/ 50%;background: brown;

四分之一的椭圆
那么,有办法得到四分之一椭圆呢?我们从效果图看出,创建一个四分之一的椭圆,只要一个角的水平和垂直半径值都需要是100%,
而其他三个角都不能设圆角。因为四个角的水平和垂直半径方向上是相同的,所以不需要用斜杠语法了。
所以
width: 150px;height: 100px;border-radius:0 0 100% 0;background: brown;
效果如下:

css border-radius的用法及自适应的椭圆的更多相关文章
- CSS预处理器之SASS用法指南
CSS预处理器之SASS用法指南 一.什么是SASS Sass是是一种基于ruby编写的CSS预处理器,提供了许多便利的写法,大大节省了设计者的时间,使得CSS的开发,变得简单和可维护. 诞生于200 ...
- CSS无序列实现表宽度自适应的表格
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 一个CSS中Z-index的用法
一个CSS中Z-index的用法 CSS教程:彻底掌握Z-index属性 大多数的CSS属性都很容易使用.常常,当您对标记语言的元素使用CSS属性时,产生的结果会随着您刷新页面而立即呈现.而另 ...
- CSS选择器的新用法
前面的话 现在,预处理器(如sass)似乎已经成为开发CSS的标配,正如几年前jQuery是开发JS的标配一样.JS的querySelector借鉴了jQuery的选择器思想,CSS选择器也借鉴了预处 ...
- CSS border三角、圆角图形生成技术简介
http://www.zhangxinxu.com/wordpress/?p=794 一.前言 利用CSS的border属性可以生成一些图形,例如三角或是圆角.纯粹的CSS2的内容,没有兼容性的问题, ...
- css before after基本用法【转】
<HTML><HEAD> <meta http-equiv="content-Type"content="text/html;charset ...
- CSS border边框属性教程(color style)
CSS 边框即CSS border-border边框样式颜色.边框样式.边框宽度的语法结构与应用案例教程篇 一.CSS 边框基础知识 CSS 边框即CSS border是控制对象的边框边线宽度.颜色. ...
- css border
CSS border用于设置HTML元素(如div)的边框,包括边框的宽度.颜色和样式.本文章向码农介绍CSS border边框属性详细内容,感兴趣的码农可以参考一下. CSS 边框即CSS bord ...
- CSS学习笔记(9)--详解CSS中:nth-child的用法
详解CSS中:nth-child的用法 前端的哥们想必都接触过css中一个神奇的玩意,可以轻松选取你想要的标签并给与修改添加样式,是不是很给力,它就是“:nth-child”. 下面我将用几个典型的实 ...
随机推荐
- 带权并查集 - How Many Answers Are Wrong
思路: 带权并查集+向量偏移 #include <iostream> using namespace std; int n, m; ]; ]; // 到根节点的距离 ; void init ...
- redis锁
1.引入依赖: <!--使用redis客户端需要用到的包 --> <dependency> <groupId>redis.clients</groupId&g ...
- QtLog
QtLog #include "mainwindow.h" #include <QApplication> #include <QByteArray> #i ...
- PHP 备份还原 MySql 数据库
原生 PHP 备份还原 MySql 数据库 支持 MySql,PDO 两种方式备份还原 php5.5 以上的版本建议开启pdo扩展,使用 pdo 备份还原数据 备份文件夹 db_backup.impo ...
- R语言学习笔记(三)
5. 数据结构 5.1 数据结构简介 (1)向量 一个向量的所有元素必须有相同的类型(模式) (2)列表 列表可以非同质的 列表可按位置索引:lst[[2]] 抽取子列表:lst[c(2,5)] 列表 ...
- SPOJ - DQUERY 莫队
题意:给定\(a[1...n]\),\(Q\)次询问,每次统计\([L,R]\)范围内有多少个不同的数字 xjb乱写就A了,莫队真好玩 #include<iostream> #includ ...
- [转] 最简单实现跨域的方法:使用nginx反向代理
[From] http://blog.jobbole.com/90975/ 什么是跨域 跨域,指的是浏览器不能执行其他网站的脚本.它是由浏览器的同源策略造成的,是浏览器对javascript施加的安全 ...
- python time,random,os,sys,序列化模块
一.time模块 表示时间的三种方式 在Python中,通常有这三种方式来表示时间:时间戳.元组(struct_time).格式化的时间字符串: (1)时间戳(timestamp) :通常来说,时间戳 ...
- Robot Framework变量的使用技巧
1.变量的使用 变量可以在命令行中设置,个别变量设置使用--variable (-v)选项,变量文件的选择使用--variablefile (-V)选项.通过命令行设置的变量是全局变量,对其所有执行的 ...
- PIE SDK栅格拉伸控制
1. 功能简介 在我们的实际应用中,对于一般16bit或者更大比特深度的影像,像元值都是大于255的.这种情况下,RGB的显示器是不能够直接使用像元值进行显示的,需要将像元值换算到0~255的区间内以 ...