CSS可以设置圆角的方块

原来用CSS可以设置圆角的方块。

 

究其原理,是用3条长度不同的直线(或更多)叠在一起,模拟出这个弯曲的圆角,正如多边形可以组成圆形一样,只要边够多,就可以无限逼近一个圆。

 

===============================================================

附网上找到的示例

<html>
<head>
<title> 用CSS做圆角方块</title>
<style type="text/css">

.roundBorder

{

 display: block;

}

.roundBorder *

{

 background: white;

 display: block;

 height: 1px;

 overflow: hidden;

}

.roundBorderLayer1

{

 border-left: 1px solid #C4C4C4;

 border-right: 1px solid #C4C4C4;

 margin: 0px 1px;

}

.roundBorderLayer2

{

 border-left: 1px solid #D3D4D5;

 border-right: 1px solid #D3D4D5;

 margin: 0px 2px;

 padding: 0px;

}

.roundBorderLayer3

{

 background: #C4C4C4;

 border-left: 1px solid #D3D4D5;

 border-right: 1px solid #D3D4D5;

 margin: 0px 3px;

}

.roundContent

{

 background:white;

 border-left: 1px solid #C4C4C4;

 border-right: 1px solid #C4C4C4;

 overflow: hidden;

 padding: 4px 10px;

}

</style>

</head>
<body>

<b class="roundBorder">

 <b class="roundBorderLayer3"></b>

 <b class="roundBorderLayer2"></b>

 <b class="roundBorderLayer1"></b>

</b>

<div class="roundContent">

 Hello!!

 <br/>

 用CSS做圆角方块

 <br/>

 真的很简单

</div>

<b class="roundBorder">

 <b class="roundBorderLayer1"></b>

 <b class="roundBorderLayer2"></b>

 <b class="roundBorderLayer3"></b>

</b>
</body>
</html>

 

### 使用 `border-radius` 属性创建特定形状 为了实现一个元素两边圆角而中间部分保持方形的效果,可以利用 `border-radius` 的四个参数分别设置左上、右上、右下和左下的圆角半径。如果希望仅使两侧呈现形效果,则只需调整对应的两个值。 对于左侧和右侧的圆角处理,可以通过如下方式定义: ```css .element { width: 200px; height: 100px; background-color: lightgreen; /* 设置上下边框为直角 */ border-top-left-radius: 50% 50%; border-bottom-left-radius: 50% 50%; } ``` 上述代码中的百分比表示法意味着水平方向上的曲率会基于宽度的一半来计算,垂直方向则依据高度的一半[^1]。因此当宽高相等时可形成完美的半;如果不相等,则会产生椭形的转角。 另外一种更简洁的方法是在支持最新标准的现代浏览器中直接指定单侧圆角大小而不必重复声明两次相同的数值: ```css .element { width: 200px; height: 100px; background-color: lightcoral; /* 只需设定一侧即可 */ border-start-end-radius: 50%; /* 或者使用具体像素单位如 '50px' */ } ``` 需要注意的是,在某些旧版浏览器里可能仍需要添加厂商前缀以确保兼容性,尽管当前大多数主流浏览器已经不再强制要求这样做。 下面给出完整的 HTML 和 CSS 示例用于展示这种样式效果: ```html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Two Rounded Sides</title> <style> .box{ margin: 20px auto; width: 300px; height: 100px; } .rounded-sides-only { background-color: cornsilk; /* 圆角只应用于左边 */ border-top-left-radius: 50px; border-bottom-left-radius: 50px; } </style> </head> <body> <div class="box rounded-sides-only"></div> </body> </html> ``` 此示例展示了如何通过简单的 CSS 规则创建具有两面润边缘的对象,同时保留其余边界作为直线段[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值