很多人拿border-radius就是做点圆角效果,或者弄一个圆形的头像(说的就是以前的自己^_^),但,这些都是没有真正发掘border-radius的价值的!

先看看一些别人的效果↓

看了后突然发现自己以前对border-radius的了解好无知哦@_@

知耻而后勇!那我们就开始学起来!

一、border-radius的基础语法

border-radius: 1-4 length|% / 1-4 length|%;

以前半径值是length,也就是固定像素值,现在在新的标准里面,可以设置百分比的值了。

比如:border-radius:50%;

或者:border-radius:2em;

二、border-radius的百分比值

如果以前我们要做一个正圆,元素具有border和padding,则圆角半径是需要考虑这些元素占位的值的。.box{

width:100px;

height:100px;

border:20px solid #F60;

}

.br1{

border-radius:70px;}

.br2{

border-radius:50px;}

但是如果我们使用百分比的值则不用再计算了。.br3{

border-radius:50%;}

感觉棒棒的!

三、border-radius的水平、垂直半径

1、四方都是1/4圆的圆角半径,说明水平和垂直的半径是一样的。.br4{

border-radius:10px 20px 30px 40px;}

只要水平和垂直的半径是相等的,产生的就是四分之一圆。

而且,圆角具有外半径和内半径之分。

当radius半径值小于border的值时,没有内半径,所以内角是直角,当radius半径值大于border的值时,才有内半径,也才有内圆角。内半径的值等于外半径的值减去border的值。

如果我们需要的是标准的椭圆呢?.box1{

width:200px;

height:100px;

border:20px solid #F60;}

.br5{

border-radius:50%;

}

当宽高不一样的时候,半径为50%,则是标准的椭圆。

如果我们设置一个非常大的半径值,则成了橡胶跑道。.br6{

border-radius:500px;}

这是为什么呢?

2、当水平、垂直半径不一样的时候.br61{

border-radius:100px 50px 60px 40px/50px 100px 30px 20px ;}

此时的语法是border-radius:水平/垂直;

水平、垂直的四个值的方位是左上、右上、右下、左下顺时针方向。

此时水平垂直的值之间是“/”隔开的。

四、边框宽度不一致.border1{

border-width:20px 0px 30px;}

.br7{

border-radius:40px;}

边框宽度不一致的时候,圆角是从宽的边向窄的边转动过来的。其实可以理解为外半径是一样的,但是内半径在不断地变大。

五、边框颜色不一致.border2{

border-color:#FC5505 #0FA81B #0ECDE2 #F5388D;}

.br8{

border-radius:40px;}

当边框的宽度发生变化时:.border2{

border-color:#FC5505 #0FA81B #0ECDE2 #F5388D;}

.border3{

border-width:20px 40px 20px 10px;}

.br8{

border-radius:40px;}

可以发现,两个颜色之间的间隔线条的角度与边框的宽度的比值是一样的。比如两条相邻的边框的宽度在这里都是1:2或者2:1,所以90度被分为了三份,每份30度,两倍宽的边框的夹角为60度,一倍宽度的边框的夹角是30度。

六、某个角有圆角.br9{

border-top-right-radius:200px 100px;

}

可以单独为某个角设置圆角,此时的语法结构是:border-垂直-水平-radius:水平 垂直;

好蹊跷的语法结构呀,属性名是垂直水平,属性值是水平垂直,能不能统一一点?

还有,此处的两个值中间是空格,不是“/”呀!

七、绘制一个弯弯的月亮.moon{

width:100px;

height:100px;

border-right:20px solid #F60;

border-radius:50%;}

八、绘制一条小鱼.fish{

width:34px;

height:34px;

position:relative;

background-color:#2c2c2c;

border-radius:80% 0;

transform:rotate(45deg);

margin-left:50px;}

.fish:before{

content:"";

position:absolute;

border-left:10px solid #2c2c2c;

border-top:10px solid transparent;

border-bottom:10px solid transparent;

top:24px;

left:-5px;

transform:rotate(-45deg);}

.fish:after{

position:absolute;

content:"";

width:5px;

height:5px;

background-color:#fff;

border-radius:50%;

top:6px;

right:7px;

box-shadow:5px -20px 1px 1px #2c2c2c,-1px -35px 2px 2px #2c2c2c;}

九、绘制一副墨镜.glass{

font-size:27px;

width:0.4em;

height:0.1em;

position:relative;

border-top:0.05em solid #2c2c2c;

border-radius:50% 50% 0 0/100% 100% 0 0;

box-shadow:-0.2em -0.3em 0 -0.07em #2c2c2c,0 -0.3em 0 -0.07em #2c2c2c,0.2em -0.3em 0 -0.07em #2c2c2c;

margin:0 0 50px 50px;

}

.glass:before{

position:absolute;

content:"";

width:1em;

height:1.1em;

background-color:#2c2c2c;

border-top-left-radius:100% 75%;

border-top-right-radius:142% 100%;

border-bottom-right-radius:91% 197%;

border-bottom-left-radius:200% 200%;

top:-0.4em;

left:0.37em;

box-shadow:0.55em 0 0 -0.47em #2c2c2c;}

.glass:after{

position:absolute;

content:"";

width:1em;

height:1.1em;

background-color:#2c2c2c;

border-top-right-radius:100% 75%;

border-top-left-radius:142% 100%;

border-bottom-left-radius:91% 197%;

border-bottom-right-radius:200% 200%;

top:-0.4em;

left:-1em;

box-shadow:-0.55em 0 0 -0.47em #2c2c2c;}

点击查看具体案例

其实,这些绘制出来的图形主要利用了:before和:after伪元素,relative和absolute定位,以及box-shadow和border-radius以及transform变形等功能。

关键还是脑洞能开多大的问题!

ps:最近每天坐公交上下班要四个小时,早晚闻着公交车的尾气、空调味,最可恶的是还有偶然冒出的屁味儿,真的很恶心。还有一天到晚在密不透风的教室里坐一天,我的嗓子已经被熏得肿痛难耐,关键是这还没有开始上课,肿么办!

HTML边框圆角椭圆原理,CSS3教程:border-radius你以为就是个圆角边框吗?相关推荐

  1. css3教程3-边框圆角:四叶草

    文章目录 1.border-radius 2.代码展示 3.效果图 篇章 1.border-radius border-radius:作用是设置边框圆角. border-radius属性值的写法: ① ...

  2. 1.CSS3 教程-> 多列布局 > image模块 > cssTransition 过渡 > CSS Animations 动画 > Transform二维

    CSS3 教程 多列布局 image模块 cssTransition 过渡 CSS Animations 动画 Transform二维 介绍 CSS3 是层叠样式表(Cascading Style S ...

  3. html图片与周围元素边界5px,css3如何将图像设置为元素周围的边框

    css3将图像设置为元素周围的边框的方法:首先创建一个HTML示例文件:然后在body中创建一些p元素:最后通过css3中的border-image属性将图像设置为元素周围的边框即可. 本文操作环境: ...

  4. 如何使用CSS3 Border Radius属性

    With CSS3, you can give any element "rounded corners" by using the border-radius property. ...

  5. 新手入门:圆角使用方法详解,圆角形成原理以及各个值的意义

    使用 CSS3 border-radius 属性,你可以给任何元素制作 "圆角". 原理: border-radius: 值: 八个值:水平左上角    水平右上角    水平右下 ...

  6. css文本框圆角不兼容,CSS教程之重置默认样式与IE兼容圆角的解决方法

    CSS教程之重置默认样式与IE兼容圆角的解决方法 IE兼容css教程3圆角的htc解决方法 现在css3的border-radius属性可以很方便的实现圆角功能,对网站前台人员无疑是一件喜事,但悲剧的 ...

  7. 50 个最佳 CSS3 教程大放送

    本文收集了2011年最热门的50个CSS3教程,读者可根据这些教程轻松实现网页的设计. 1. Original Hover Effects with CSS3 本教程讲述应用CSS3实现风格迥异的鼠标 ...

  8. CSS3之border属性

    border相关属性需要大量练习,方可运用自如! 文字下方有Demo!!! border: 作用:           设置在一个声明中 包含 所有 的边框 属性 说明:           可以设置 ...

  9. html怎么把图片放入边框,css3如何将图像设置为元素周围的边框

    在网页设计过程中,使用css3图像边框属性可以大大的提升网页整体美观效果,以及丰富页面内容.那么css3中的图像边框属性也就是border-image 属性. 推荐学习:<CSS3教程> ...

最新文章

  1. nginx 常用命令 和 配置
  2. 怎么修改nginx的access.log的时间格式
  3. 前端封装接口弹出错误_项目实践:SpringBoot三招组合拳,手把手教你打出优雅的后端接口...
  4. 装修时水电如何开槽?沟槽如何封堵?有哪些防止沟槽开裂的方法
  5. 一个月面试近 20 家,拿下阿里 Offer!
  6. centos 7 单独安装mysql和mysqli和pdo_mysql扩展
  7. VS2017 Visual Assist X破解方法
  8. c:\Program Files (×86)\Microsoft VS Code\unins000.exe 尝试在目标目录创建文件时发生一个错误:拒绝访问。
  9. 电路基本原理的那些事儿之 分压原理
  10. Excel 实现 平均数±标准差
  11. Linux----常用操作
  12. dos下的硬盘检测工具MHDD图文教程
  13. python打印N*N乘法表
  14. Java解决:有一对兔子,从出生后第三个月起每个月都生一对兔子,小兔子长到第三个月的时候又生了了一对兔子。假设兔子都没有死亡,求第二年的总对数 。
  15. R-squared 和 Adjusted R-squared联系与区别
  16. 中画幅相机焦距水平视角_摄影中的“中画幅”是什么?
  17. 流水线-流水线相关计算
  18. python语音唤醒功能_百度语音识别 语音唤醒失败
  19. 深入分析Android“卡顿掉帧”问题
  20. jsrun怎么拿里面的代码?

热门文章

  1. 彻底搞清楚STM32CubeMX生成工程再次下载后SWD无法使用问题
  2. 分布式系统:一致性hash算法 在分布式系统中的应用
  3. 嵌入式linux/鸿蒙开发板(IMX6ULL)开发流程(六)烧写整个系统或更新部分系统
  4. 使用 AutoHotKey 配合Win10分屏功能
  5. photoshop cs3 打字不显示问题
  6. “no source“: Error: command-line: #564: cannot open embedded assembler outpu
  7. Vector使用报错:Expression:vector subscript out of range
  8. 网络游戏中,对于无法使用封包断点进行分析找call的一种方法[以背包整理为例]
  9. word自动消除html标签,如何将Word转换为网页html格式的方法(附代码清理方法)
  10. 时序动作检测《BSN: Boundary Sensitive Network for Temporal Action Proposal Generation》