css3属性之border-radius

CSS3 border-top-right-radius 属性 border-top-right-radius属性定义了右上角的边框形状。这个属性允许你为元素添加圆角边框!默认值:0继承:no版本:CSS3object。 阅读详情

css3中有一个非常好用的新属性:border-radius用来实现圆角

我们知道在网页中有很多图片样式棱角分明,如果为元素添加圆角属性看起来效果会更舒服

border-radius是一个简写属性,它是由四个属性组成的:

用于设置四个border-*-radius属性:

border-top-left-radius:<length> <length>;//左上角
border-top-right-radius:<length> <length>;//右上角
border-bottom-right-radius:<length> <length>;//右下角
border-bottom-left-radius:<length> <length>;//左下角

第一个<length>参数是圆角水平半径,第二个值是垂直半径,如果第二个值省略,那么就等于第一个值。

例如:

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
	<style>
		div{
			width: 100px;
			height: 100px;
			background-color: red;
			border-radius: 20px;
		}
	</style>
</head>
<body>
	<div></div>
</body>
</html>


效果如图:


radius,就是半径的意思。用这个属性可以很容易做出圆角效果,当然,也可以做出圆形效果。原理很简单,“正方形的内切圆的半径等于正方形边长的一半”。下面就做一个红色的圆。


还是上面的代码:

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
	<style>
		div{
			width: 100px;
			height: 100px;
			background-color: red;
			border-radius: 50px;
		}
	</style>
</head>
<body>
	<div></div>
</body>
</html>

是不是很容易就实现了一个图形切割为圆形呢!

百分之百的正方形切割就像上面的方式很容易实现,设置border-radius:50%;即可


接下来再看看怎样讲一个方形图片切割变为圆形~

先来看看实现方式及效果图:

<span style="font-size:14px;"></span>
<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
	<style>
		.Avatar{
            position:relative;
            width:100px;
            height:100px;
            overflow:hidden;
            border-radius:50%;
            }

        .Avatar img{
            width:100%;
            height:100%;
            }
	</style>
</head>
<body>
	<div class="Avatar"><img src="1.jpg" alt=""></div>
</body>
</html>




当然了,原图大小为1300*958;如果单纯的用上面设置border-radius:50%的方式当然是不行的


所以,首先我们渲染一个圆形,必须得以圆形图片为基础

要解决这个问题,我们可以通过在img标签外面套一层div,然后我们通过将超过这个外层div的img标签的内容给裁掉来实现。具体的话可以通过将外层div的overflow属性设置为hidden。

对应于.Avatar样式

接下来就是将img图片等比例缩小100%显示啦~


这种方式并没有裁剪图片主要内容,网上还有另外一种裁剪长方形图片的实现方式,不过分垂直方向与水平方向裁剪,并且会裁剪掉图片部分内容。再次附上链接方便学习,共同交流~

链接:css剪切圆形图片


接下来看看border-radius在不同内核浏览器下的书写格式:

1、Mozilla(Firefox, Flock等浏览器)

 -moz-border-radius-topleft: //左上角
  -moz-border-radius-topright: //右上角
  -moz-border-radius-bottomright: //右下角
  -moz-border-radius-bottomleft: //左下角
   
   等价于:

  -moz-border-radius: //简写
2、WebKit (Safari, Chrome等浏览器)

 -webkit-border-top-left-radius:  //左上角
  -webkit-border-top-right-radius:  //右上角
  -webkit-border-bottom-right-radius:  //右下角
  -webkit-border-bottom-left-radius:  // 左下角

   等价于:

  -webkit-border-radius:  //简写
3、Opera浏览器:

 border-top-left-radius: //左上角
  border-top-right-radius: //右上角
  border-bottom-right-radius: //右下角
  border-bottom-left-radius: //左下角
  
  等价于:
 
  border-radius: //简写
4、Trident (IE)

IE<9不支持border-radius;IE9下没有私有格式,都是用border-radius,其写法和Opera是一样的,这里就不在重复。

为了不管是新版还是老版的各种内核浏览器都能支持border-radius属性,那么我们在具体应用中时需要把我们的border-radius格式改成:

  -moz-border-radius: none | <length>{1,4} [/ <length>{1,4} ]?
  -webkit-border-radius: none | <length>{1,4} [/ <length>{1,4} ]?
  border-radius: none | <length>{1,4} [/ <length>{1,4} ]?
再次附上一个讲的比较全面的链接:点击打开链接

最后再附上一个利用border-radius属性做的奥运五环~

<span style="font-size:14px;"><!DOCTYPE html> 
<html> 
    <head> 
        <meta charset="UTF-8" /> 
        <title>The Olympic Flag</title>  
        <style type="text/css" media="screen"> 
        body {
            margin:20px;
            background-color:#efefef;
        }
        ul.flag {
            list-style-type:none;
            position: relative;
            margin: 20px auto;
        } 
      
        .flag li, .flag li:before, .flag li:after {
            -webkit-border-radius: 6em;
            -moz-border-radius: 6em;
            border-radius: 6em;
            position: absolute;
        }
        
        .flag li {
            width: 12em;
            height: 12em;
            left: 0;
            top: 0;
            font-size: 1em;
        }  
      
        .flag li:after {
            display: block;
            content: "";
            top: -0.1em;
            left: -0.1em;
            right: -0.1em;
            bottom: -0.1em;
            border: solid 1.4em black;
        }
        
        .flag .blue   { z-index: 10; left: 0; top: 0; }
        .flag .yellow { z-index: 20; left: 6.8em;  top: 5.7em; }
        .flag .black  { z-index: 21; left: 13.6em; top: 0; }
        .flag .green  { z-index: 20; left: 20.4em; top: 5.7em; }
        .flag .red    { z-index: 10; left: 27.2em; top: 0px; }   
        
        .flag .blue:after   { border-color: blue; }   
        .flag .yellow:after { border-color: yellow; } 
        .flag .black:after  { border-color: black; }
        .flag .green:after  { border-color: green; } 
        .flag .red:after    { border-color: red; }
        /* 蓝色压住黄色 */  
        .flag .blue.alt { z-index: 24; }
        .flag .blue.alt, 
        .flag .blue.alt:before, 
        .flag .blue.alt:after {
            border-top-color: transparent;
            border-left-color: transparent;
            border-bottom-color: transparent;
        }
        /* 黄色压住黑色 */
        .flag .yellow.alt { z-index: 23; }
        .flag .yellow.alt, 
        .flag .yellow.alt:before, 
        .flag .yellow.alt:after {
            border-right-color: transparent;
            border-left-color: transparent;
            border-bottom-color: transparent;
        }    
        /* 绿色压住黑色  */
        .flag .green.alt { z-index: 23; }
        .flag .green.alt,
        .flag .green.alt:before,
        .flag .green.alt:after {
            border-top-color: transparent;
            border-right-color: transparent;
            border-bottom-color: transparent;
        }
        /* 红色压住绿色  */
        .flag .red.alt { z-index: 23; }
        .flag .red.alt, 
        .flag .red.alt:before,
        .flag .red.alt:after {
            border-top-color: transparent;
            border-right-color: transparent;
            border-left-color: transparent;
        }       
        </style>   
    </head> 
    <body> 
        <ul class="flag"> 
            <li class="blue"></li> 
            <li class="blue alt"></li> 
            <li class="yellow"></li> 
            <li class="yellow alt"></li> 
            <li class="black"></li> 
            <li class="green"></li> 
            <li class="green alt"></li> 
            <li class="red"></li> 
            <li class="red alt"></li> 
        </ul>  
    </body> 
</html></span>


更多的圆角border-radius属性特效等你们来实现哦~


CSS3 border-radius 属性 border-radius 允许你设置元素的外边框圆角。当使用一个半径时确定一个圆形,当使用两个半径时确定一个椭圆。这个(椭)圆与边框的交集形成圆角效果。border-radius 属性是一个最多可指定四个 border-*-radius 属性的复合属性这个属性允许你为元素添加圆角边框!默认值:0继承:no版本:CSS3object。 阅读详情

相关推荐

基于图像分割的LIDC-IDRI 数据集预处理之数据下载篇

近期接触到了一个关于图像分割实验项目,关于数据预处理部分在此予以记录,和大家分享。

qq_67696694的博客 1903

详解CSS3中的border-radius样式

border-radius是CSS3中诞生的新样式,它可以使边框的边角变成弧形和圆角。以往制作按钮、弧形边框时需要使用背景切图的方式实现;不但臃肿,而且还容易产生布局BUG,不适于自适应框架的书写。 1.首先介绍一下语法: border-radius:[<length>|<percentage>]{1,4} [ / [<length>|<...

web前端开发博客 2610

从零到一:Admin.NET中Swagger与Knife4jUI的深度集成实践

本文详细介绍了在Admin.NET框架中深度集成Swagger与Knife4jUI的实践方法,从基础配置到高级定制,包括认证配置、安全增强、界面主题定制等。通过Furion框架简化配置,开发者可以快速构建专业且友好的API文档界面,提升团队协作效率。

defi6farmer的博客 407

点击或者按压div之后出现黑色边框的问题

在代码的相关部分(下面显示以供将来参考)中, 你需要包括以下CSS: { outline: none; }

qq_39047764的博客 1602

期货套利策略(二)

接上一篇期货套利策略,随着对期货套利策略的深入了解,我发现套利策略不是那么好做的。下面将会讲碰到的一些问题。 上一篇文章中没有考虑滑点的问题,这里我们把滑点问题考虑进去。这里先说一些天勤api的买入点,天琴的买入点是当前K线的收盘价。碰到数据传输问题,还有计算等各方面问题,实际情况是无法在当前K线的收盘价买入的。这里我们把这方面问题考虑进去,利用api.wait_update()调到下一个k线数据...

qq_31611005的博客 1712

RK3566/RK3588 NPU性能实测:用mobilenet模型快速验证你的开发板NPU是否正常工作

本文提供了RK3566/RK3588开发板NPU性能实测指南,通过MobileNet模型快速验证NPU是否正常工作。详细介绍了环境搭建、测试资源获取、编译运行及结果分析的全流程,帮助开发者高效验证神经网络加速器功能,为后续AI应用部署奠定基础。

weixin_28826521的博客 447

css按钮按下去有框,CSS角落框/按钮

csshtml, body, div, span, applet, object, iframe,h1, h2, h3, h4, h5, h6, p, blockquote, pre,a, abbr, acronym, address, big, cite, code,del, dfn, em, img, ins, kbd, q, s, samp,small, strike, strong, su...

weixin_30311179的博客 302

Uniapp+Vue3+Monorepo:如何优化你的前端开发流程(附完整配置代码)

本文详细介绍了如何利用Uniapp+Vue3+Monorepo技术栈优化前端开发流程,提升代码可维护性和团队协作效率。通过Monorepo架构实现依赖管理智能化、代码复用最大化和构建流程统一化,结合完整配置代码和实战指南,帮助开发者快速构建高性能跨端应用。

weixin_29011993的博客 453

CircleImageView圆形头像出现方块背景问题

解决办法:在全局配置文件中开启硬件加速

chailongger的博客 458

SpringBoot+Vue企业级开源聚合支付系统!支持30+款支付平台,只需配置商户证书就能直接使用!

一款开源SAAS支付系统推荐

技术Z先生的博客 2720

Scrum中敏捷项目经理(Scrum Master)扮演什么角色?

Scrum Master是Scrum团队中的“服务员”,负责确保所有人都能理解Scrum的理论、实践和规则,以及帮助团队最大化Scrum的利益。Scrum Master服务于Product Owner,帮助Product Owner理解如何使团队的工作最有效地满足产品目标。Scrum Master服务于Development Team,移除开发团队工作上的障碍,保证团队按照Scrum的方式运作。Scrum Master不是团队领导。Scrum团队是自组织的,意味着团队具有做出决策的能力。

huaqianzkh的专栏 2516

CSS3属性border-radius参数详解

border-radius,国内翻译成圆角,你可能以为这个属性就是用来画圆角,没错,但是除此之外,它还可以做点别的事情。radius其实指的是边框所在圆的半径,这个CSS3属性不仅能够创建圆角,还可以创建椭圆角(如图下图第7),把这些角按照不同的顺序和大小来展现,能够绘制成多种多样的图形。以下图例就是通过定义border-radius得到的效果。 语法和解释 border-ra

洛小宇博客 9274

跨越边界:用MessagePipe实现无缝的进程间通信

MessagePipe是一个用于.NET平台的消息传递库,它专注于简化异步消息处理和进程间通信。通过提供一系列易于使用的API,开发者可以快速搭建起稳定可靠的通信管道,支持多种传输协议(如TCP、Unix域套接字等),并内置了序列化/反序列化功能,使得跨语言和跨平台的数据交换变得轻而易举。为了方便序列化和反序列化操作,我们需要为每种消息定义对应的类或结构体,并标记属性。这样可以确保消息在发送方和接收方之间正确无误地传递。[Key0set;[Key1set;

墨夶的博客 816

border-radius(CSS3属性)

一、border-radius 完整写法: border-radius:为元素添加圆角边框。 border-radius:10px 20px 30px 40px/40px 30px 20px 10px “/”前的四个数值表示圆角的水平半径,后面四个值表示圆角的垂直半径。 水平半径和垂直半径表示如下: 比如: border-radius: 2em 1em 4em / 0.5em 3em;等同于 border-top-left-radius: 2em 0.5em; border-top-right-radi

qq_43812504的博客 6万+

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

详解css3属性border-radius

当时写这篇文章主要是想探讨一下优雅降级和渐进增强的区别,按照正常的逻辑思维,不管是降级还是增强,应该对于效果是没什么区别的,因为后者会覆盖前者,但今天无意看到张鑫旭的一篇文章,关于CSS3属性的书写顺序(10年的,原谅我的孤陋寡闻T_T),标准的css3属性和带webkit的前缀在某些情况是不一样的效果,比如border-radius和-webkit-border-radius带两个参数时,显示的...

liangtaox8的博客 459

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

css怎么实现圆角加粗,CSS3 border-radius 圆角属性

使用 CSS3 border-radius 属性,你可以给任何元素制作 "圆角"。浏览器支持表格中的数字表示支持该属性的第一个浏览器的版本号。-webkit- 或 -moz- 前面的数字表示支持该前缀的第一个版本。ie 9+谷歌 4.0 -webkit-火狐 3.0 -moz-Safari 3.1 -webkit-Opera 10.5+CSS3 border-radius可以指定4周每个需要的圆角...

weixin_39980353的博客 602

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

如何使用CSS3 Border Radius属性

With CSS3, you can give any element “rounded corners” by using the border-radius property. The value can be in any valid CSS length unit. 使用CSS3,可以使用border-radius属性为任何元素“圆角”。 该值可以采用任何有效CSS长度单位。 .roun...

cumi6497的博客 252

CSS3圆角border-radius属性详解

CSS即层叠样式表(Cascading StyleSheet),css3是css的最新版本,新增加了很多特性,如:css3动画 animation、Transform、Transition,CSS3渐变,CSS3圆角,文字特效,css3 Flexbox(伸缩盒布局)等等。回顾我们写边框圆角历程,最开始我们用4涨小图片(左上角,右上角,左下角,右下角)来实现边框圆角,后来进化到2涨背景图片(上,下)

小允子的博客 1445

CSS3 圆角属性 border-radius和-webkit-border-radius使用

CSS3 圆角属性 border-radius 在 CSS3 中新增了一个 border-radius 边框半径属性,即大家常用的圆角效果。这使得制作圆角将不再麻烦,只需对所用对象加一个 border-radius 属性即可,不必使用图片定位或冗余代码完成了。不过它的使用瓶颈目前也是显而易见的,因为效果显示需支持 CSS3 的现代浏览器,而在一些老版本浏览器上则无法显示,如IE8及以下浏览器就

jilongliang的专栏 5447

用CSS3的圆角border-radius属性,画一个圆形

习惯了方方框框,我们会使用圆角技术使网页变得很圆润,而不是一个个棱角。圆角被广泛运用于网页中,比如把边框加个圆角,这是最流行的用法,让网页看起来很舒服。还有就是用户的头像,把它做成一个圆形的,看到现在的网页中出现的频率也很大。 以前制作圆角的方法比较繁琐,山顶角、洋葱皮、PS切图、制图…一系列的技巧,而现在我们可以利用CSS3的一个属性就可以轻松实现圆角,甚至是各种畸形的形状。 border-

ITX2000的专栏 1万+

CSS3属性:border-radius

语法: border-radius : none | {1,4} [ / {1,4} ]? 相关属性: border-top-right-radius , border-bottom-right-radius , border-bottom-left-radius , border-top-left-radius  取值: :由浮点数字和单位标识符组成的长度值。不可为负值。bo

860

CSS3的border-radius属性详解

 CSS3的border-radius属性详解border-radius: none | length{1,4} [/ length{1,4} 其中每一个值可以为 数值或百分比的形式。 length/length 第一个lenght表示水平方向的半径,而第二个表示竖直方向的半径。 如果是一个值,那么 top-left、top-right、bottom-right、bottom-left 四个值相等...

祥哥的说 6708

CSS3-border-radius 边框样式属性

CSS3 中的 border-radius 属性用来设置变工况的样式,可以将直角边框改为圆角边框,甚至可以将一个矩形设置成一个圆形,该属性与其他样式属性结合使用可以做出许多有趣的图案 border-radius 属性主要是修改块级元素的四个角的弧度来改变元素的形状,该属性是一个综合属性,四个角的样式可以单独设置也可以综合设置;其属性值可以是 像素(px)、百分比(%)、em 等 border-ra...

weixin_44486539的博客 3322

CSS3属性之border-radius

无论CSS那个版本,对于CSS制作圆角,想必大家都不会陌生,不过在CSS3到来之前,为了制作圆角是一件很麻烦的事情,记得曾经的一个方法是制作4个空标签并设置圆角背景,最后分别定位到相应的位置,还有一种不需要图片的方法是,用多个一像素的块级元素叠加,然后设置不同宽度或者高度形成圆角,这种方法相比第一种更加麻烦,但是没有图片。border-radius来了,小伙伴们惊呆了,各种犀利的圆角效果竟能如此简

Servenity 2895
上一篇: JavaScript垃圾回收机制
下一篇: 从实现倒计时谈闭包
Crazier_qi
博客等级 码龄11年 13粉丝 42原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值