css3 Method for drawing a semicircle: 1. Use the border-radius attribute to achieve this. You only need to set the values of the two adjacent corners to half of the width/height, and set the other two corners to 0. 2. Use the clip attribute and rect() function of CSS3 to achieve this.
The operating environment of this tutorial: Windows 7 system, CSS3&&HTML5 version, Dell G3 computer.
Method 1: Use border-radius to implement a semicircle
The border-radius attribute is used to set a rounded border for an element. You can specify a value of 1-4 to create a border. (1~4) Rounded corner effect
Syntax:
border-radius: 1-4 length|%
The order of the four values of each radius is: upper left corner, upper right corner, lower right corner, lower left corner. If the lower left corner is omitted, the upper right corner is the same. If the lower right corner is omitted, the upper left corner is the same. If the upper right corner is omitted, the upper left corner is the same.
Example:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <style> * { margin: 0; padding: 0; } .clearfix { zoom: 1; /*为IE6,7的兼容性设置*/ } .clearfix:after { content: '.'; display: block; height: 0; clear: both; visibility: hidden; } ul li { list-style: none; float: left; margin: 50px 0 50px 20px; text-align: center; } li { background: red; } h2 { margin-top: 20px; } .circle1 { width: 100px; height: 50px; border-radius: 50px 50px 0 0; line-height: 50px; } .circle2 { width: 50px; height: 100px; border-radius: 0 50px 50px 0; line-height: 100px; } .circle3 { width: 100px; height: 50px; border-radius: 0 0px 50px 50px; line-height: 50px; } .circle4 { width: 50px; height: 100px; border-radius: 50px 0 0 50px; line-height: 100px; } .circle5 { width: 100px; height: 100px; border-radius: 50px; line-height: 100px; } </style> </head> <body> <div> <h2>用border-radius实现半圆</h2> <ul> <li>上边圆</li> <li>左边圆</li> <li>下边圆</li> <li>左边圆</li> <li>全圆</li> </ul> </div> </body> </html>
Rendering:
Method 2: Use the clip method of css3 Clipping implements semicircle
clip property to clip absolutely positioned elements. In other words, it is only effective when position:absolute is used. The only legal shape values are: rect (top, right, bottom, left)
Example:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <style> .clearfix { zoom: 1; /*为IE6,7的兼容性设置*/ } ul li { list-style: none; float: left; margin: 50px 0 50px 20px; text-align: center; } li { background: red; } h2 { margin-top: 20px; } .demo { /*左半圆*/ position: absolute; /*clip 属性剪裁绝对定位元素。也就是说,只有 position:absolute 的时候才是生效的。*/ width: 100px; height: 100px; border-radius: 50px; /* line-height: 50px; */ clip: rect(0px 50px 100px 0px); /*唯一合法的形状值是:rect (top, right, bottom, left)*/ } .right-circle { /*右半圆*/ left: 200px; clip: rect(0px 100px 100px 50px); /*唯一合法的形状值是:rect (top, right, bottom, left)*/ } </style> </head> <body> <div> <h2>css3的clip 方法剪裁实现半圆</h2> <p style="color: red;"></p> <ul style="position: relative;"> <li>左半圆</li> <li class="demo right-circle">右半圆</li> <li></li> </ul> </div> </body> </html>
Rendering:
(Learning video sharing: css video tutorial)
The above is the detailed content of How to draw a semicircle in css3. For more information, please follow other related articles on the PHP Chinese website!