1.属性解析

  border-radius是css3属性,他可以使div的角进行一定程度的弯曲。

  比如说下面这个width和height的正方形div

  

  经过设置border-radius之后四个角会出现弯曲

border-radius:40px;

  当然我们可以针对某个角进行单独的设置

border-top-left-radius:40px;
border-top-right-radius:40px;
border-bottom-right-radius:40px;
border-bottom-left-radius:40px;

  2.使用场景

  而在网页开发中,我们会遇到很多种需要使用圆形图案的情况,比如说做个圆形的头像图案

  

  做个进度统计

  

  上面这些情况都需要用到border-radius这个属性去弯曲边框。

  3.常见图案

  那我们该如何生成一个原型呢,原理是把边角弯曲成一条圆弧,在这里我们只需把border-radius大小设置为div(正方形)高的一半就好了,所以我们一般设置

border-radius:50%;

  就可以实现圆型的图案。

  1.圆圈

  在刚刚div的基础上增加border-radius:50%;就可以实现如下图案

  

  2.圆环

  只要在1的基础上加大border的宽度即可

  

  3.月牙天冲。

  至于为什么会出现这种镰刀形状的图形,我认为是border-radius都是圆角,而角是由两个边组成,但是却只设置border-right,右上角和右下角只有右边作为他的其中一个边,所以导致了他边的宽度一直在衰减。

  

<style type="text/css">
.circle{
width:160px;
height:160px;
border-right:20px solid red;
border-radius:50%;
position: relative;
display: table-cell;
vertical-align: middle;
} </style>
<div class="circle"> </div>

  4.半圆。

  在这里我用了两个颜色去标注他,首先先设置border都是20px且边框为透明,这样之后设置单个border颜色,图案就不会变成月牙天冲,至于为什么,这是因为我们之前设置的border-radius使得角会进行弯曲,如果只设置单一边框都会使得由于边的两端的角的弯曲,使得他宽度衰减。

  既然这样我们其实只需设置全部边的都存在,且为透明,再去设置我们需要的边,就不会有衰减的月牙天冲了

  

<style type="text/css">
.half-circle{
width:160px;
height:160px;
border:20px solid red;
border-radius:50%;
border: 20px solid transparent;
border-top:20px solid red;
border-right:20px solid blue;
}
</style>
<div class="half-circle"> </div>

   

  也有可能某些童鞋会说这个半圆的角度怎么会这样?可能只要我设置一下颜色,可能你就会看的很清楚了

  

  

    <style type="text/css">
.circle{
width:160px;
height:160px;
border-radius:50%;
border-top:20px solid red;
border-left: 20px solid green;
border-right:20px solid blue;
border-bottom:20px solid yellow;
}
</style>
<div class="circle"> </div>

  如果我们把border-radius:50%去掉,就会变成下面这样子,各位童鞋估计就懂了吧,其实我们只要脑海里面想着把一个正方形压一下,变成一个圆形,估计就会出现上面的图案了。

  

  如果我们需要对半圆进行角度的修正,可以使用transform属性,但是要注意兼容性哦

  

  

    <style type="text/css">
.circle{
width:160px;
height:160px;
border-radius:50%;
border:20px solid transparent;
border-top: 20px solid red;
border-right: 20px solid red;
transform: rotate(45deg);
}
</style>
<div class="circle"> </div>

  4.眼睛

  

<style type="text/css">
.circle{
width:160px;
height:160px;
border:10px solid black;
border-radius:50%;
position: relative;
display: table-cell;
vertical-align: middle;
}
.point{
margin: 0 auto;
border-radius:50%;
background: blue;
width: 10px;
height: 10px;
}
</style>
<div class="circle">
<div class="point"></div>
</div>

  5.车轮(真想自己做个小车来看看会有什么效果...可惜没啥时间,呜呜呜)

  

    <style type="text/css">
.round{
width:180px;
height:180px;
position: relative;
}
.circle{
position: absolute;
top: 0;
width:160px;
height:160px;
border:10px solid black;
border-radius:50%;
}
.point{
margin: 0 auto;
border-radius:50%;
background: black;
width: 15px;
height: 15px;
}
.circle2{
height: 160px;
width: 160px;
position: relative;
display: table-cell;
vertical-align: middle;
}
.line{
width:160px;
height: 10px;
background: blue;
margin: 0 auto;
}
.circle.line1{
transform: rotate(0deg);
}
.circle.line2{
transform: rotate(30deg);
}
.circle.line3{
transform: rotate(60deg);
}
.circle.line4{
transform: rotate(90deg);
}
.circle.line5{
transform: rotate(120deg);
}
.circle.line6{
transform: rotate(150deg);
}
.circle.line6{
transform: rotate(150deg);
}
</style>
<div class="round">
<div class="circle line1">
<div class="circle2">
<div class="line"></div>
</div> </div>
<div class="circle line2">
<div class="circle2">
<div class="line "></div>
</div> </div>
<div class="circle line3">
<div class="circle2">
<div class="line "></div>
</div> </div>
<div class="circle line4">
<div class="circle2">
<div class="line "></div>
</div> </div>
<div class="circle line5">
<div class="circle2">
<div class="line "></div>
</div> </div>
<div class="circle line6">
<div class="circle2">
<div class="line "></div>
</div> </div>
<div class="circle">
<div class="circle2">
<div class="point"></div>
</div>
</div> </div>

  

初步学习border-radius的更多相关文章

  1. 状态保持以及AJAX的初步学习

    嘿嘿,今天学习的有点迷茫哦,主要学习把验证码使用在登录页面时间的一些逻辑,学习这个时间并没有那么的迷惑哦,可是自己写程序时间倒是有点反应迟钝,不过还好总是在最后搞清楚啦,另外就是一步一步的学习是接近项 ...

  2. json2.js的初步学习与了解

    json2.js的初步学习与了解,想要学习json的朋友可以参考下. json2.js的初步学习与了解 1.)该js的下载地址是:http://www.json.org/json2.js 2.)在页面 ...

  3. 老周的ABP框架系列教程 -》 一、框架理论初步学习

    老周的ABP框架系列教程 -- 一.框架理论初步学习   1. ABP框架的来源与作用简介 1.1  简介 1.1.1       ABP框架全称为"ASP.NET Boilerplate ...

  4. 初步学习nodejs,业余用node写个一个自动创建目录和文件的小脚本,希望对需要的人有所帮助

    初步学习nodejs,业余用node写个一个自动创建目录和文件的小脚本,希望对需要的人有所帮助,如果有bug或者更好的优化方案,也请批评与指正,谢谢,代码如下: var fs = require('f ...

  5. EF Codefirst 初步学习(二)—— 程序管理命令 更新数据库

    前提:搭建成功codefirst相关代码,参见EF Codefirst  初步学习(一)--设置codefirst开发模式 具体需要注意点如下: 1.确保实体类库程序生成成功 2.确保实体表类库不缺少 ...

  6. 初步学习python

    自计算机诞生以来,也伴随着计算机语言的诞生,现在,全世界的编程语言有600多种,但流行的编程语言也就20多种. Java和C一直占据着前两名.但是近年来伴随着人工智能的发展,Python发展迅猛,以其 ...

  7. Git的初步学习

    前言 感谢! 承蒙关照~ Git的初步学习 为什么要用Git和Github呢?它们的出现是为了用于提交项目和存储项目的,是一种很方便的项目管理软件和网址地址. 接下来看看,一家公司的基本流程图: 集中 ...

  8. 语法分析器初步学习——LISP语法分析

    语法分析器初步学习——LISP语法分析 本文参考自vczh的<如何手写语法分析器>. LISP的表达式是按照前缀的形式写的,比如(1+2)*(3+4)在LISP中会写成(*(+ 1 2)( ...

  9. LinQ的初步学习与总结

    嘿嘿,说起来ORM和LinQ,就感觉离我好遥远的,在学校是没有学习的,所以总感觉学习了LinQ就是大神,现在嘛,终于也体会一点,感觉LinQ只是初步学习,没有太难,当然以后使用在项目中就没有这样的简单 ...

  10. Android NDK开发及OpenCV初步学习笔记

    https://www.jianshu.com/p/c29bb20908da Android NDK开发及OpenCV初步学习笔记 Super_圣代 关注 2017.08.19 00:55* 字数 6 ...

随机推荐

  1. C#多态“说来也说”——逻辑层BLL中的多态使用

    本文版权归博客园和作者吴双本人共同所有.欢迎转载,转载和爬虫请注明原文地址 http://www.cnblogs.com/tdws/p/5861842.html 昨天晚上,有个朋友说学了好久,依然没搞 ...

  2. 使用Adminlite + ASP.NET MVC5(C#) + Entityframework + AutoFac + AutoMapper写了个api接口文档管理系统

    一.演示: 接口查看:http://apidoc.docode.top/ 接口后台:http://apiadmin.docode.top/ 登录:administrator,123456 二.使用到的 ...

  3. php调用web service接口(.net开发的接口)

    实例代码1: try { $this->soapClientObj = new SoapClient(self::URL . '?wsdl', array('connection_timeout ...

  4. Mybatis的基本操作案列增加以及源码的分析(二)

    一.构建一个框架的项目的思路 首先我们先建立一个web项目,我们需要jar,mybatis-config.xml和studentDao.xml的配置随后就是dao.daoimpl.entity.的架构 ...

  5. jquery 通过submit()方法 提交表单示例

    jquery 通过submit()方法 提交表单示例: 本示例:以用户注册作为例子.使用jquery中的submit()方法实现表单提交. 注:本示例仅提供了对表单的验证,本例只用选用了三个字段作为测 ...

  6. 八皇后算法的另一种实现(c#版本)

    八皇后: 八皇后问题,是一个古老而著名的问题,是回溯算法的典型案例.该问题是国际西洋棋棋手马克斯·贝瑟尔于1848年提出:在8×8格的国际象棋上摆放八个皇后,使其不能互相攻击,即任意两个皇后都不能处于 ...

  7. TiQuery

    TiQuery 是一个基于JQuery 的在Titanium上使用的 javascript 库 TiQuery 为TI 提供了很快捷的方法: // Utilities $.info('My messa ...

  8. 1、开篇:公司管理经验谈 - CEO之公司管理经验谈

    作为一家IT公司的CEO,我很高兴与大家通过博文的方式进行沟通交流.一方面能够将自己的成长之路以博文的方式记录下来,另一方面是能够与大家交朋友,与大家沟通公司管理方面的知识和经验. 首先,笔者在200 ...

  9. 【译】Spring 4 @PropertySource和@Value注解示例

    前言 译文链接:http://websystique.com/spring/spring-propertysource-value-annotations-example/ 本篇文章将展示如何通过@P ...

  10. Windows Server 2012 虚拟化实战:网络(二)

    关于Windows Server的虚拟化网络,前文描述了在操作系统层面上的出现的配置变化.其中的一些配置通过Windows Server提供的小工具即可实现,如网卡组的配置,而有些需要安装Window ...