CSS-論css如何純代碼實現內凹圓角


background-image: radial-gradient(200px at 50px 0px, #fff 50px, #4169E1 50px);

這是做內凹圓角的核心代碼,就是背景圖的radial-gradient,只設置兩種顏色,中間不進行過渡漸變。兩種顏色疊到一起就是一條實線,看上去就是兩個色塊的拼接。

1.立體質感圓球

網上看到的一個很有趣的小案例——用radial-gradient制作的立體質感小圓球

就一行代碼!

<span class="egg"></span>
.egg {display: block;margin-top: 30px;width: 100px;height: 100px;border-radius: 50px;background: radial-gradient(at 35px 35px, #FFF, #CCC, #FFF);background: -webkit-radial-gradient(35px 35px, #FFF, #CCC, #FFF);}

http://blog.csdn.net/playboyanta123/article/details/9303857

 

2.手動內凹
如下是一種用一個圓和一個方形盒子疊加做出的內凹圓角的的效果。

1 <div class="something-meaningful brdradius"></div>
2 <div class="something-meaningful">
3     <div>
4         <a href="http://www.w3cplus.com/css3/css-secrets/inner-rounding.html"></a>
5     </div>
6 </div>    
1 .something-meaningful {display: inline-block;width: 55px;height: 55px;overflow: hidden;line-height: 130px;background: #655;text-align: center;/* padding: .8em; */position: relative;float: left;}
2 .brdradius {border-top-left-radius: 45%;}
3 .something-meaningful> div {width: 100px;height: 100px;background: #fff;border-radius: 5em;position: absolute;top: -46px;left: 2px;/*padding: 1em;*/}


3.我自己也來玩玩

<span class="radius"></span>
1 .radius {width: 50px;height: 50px;line-height: 100px;display: block;text-align: center;background-image: radial-gradient(200px at 50px 0px, #fff 50px, #4169E1 50px);}

 

利用個背景色的徑向漸變background-image: radial-gradient(200px at 50px 0px, #fff 50px, #4169E1 50px);,

就畫出這么一個小內凹角來,想要另外方向的也可以變化。如下的一個完整案例

<ul class="uls">
    <li>1
        <span class="li-boradiu"></span>
    </li>
    <li>2
        <span class="li-boradiu"></span>
    </li>
    <li>3</li>
</ul>
1 .uls{list-style-type: none;*zoom: -1;}
2 .uls:after{content: "";clear: both;display: block;}
3 .uls li{display: block;float: left;width: 120px;height: 35px;background-color: #4169E1;text-align: center;line-height: 35px;color: white;/*做上圓角*/border-top-left-radius : 15px;    border-top-right-radius : 15px;    }
4 .li-boradiu{display: inline-block;width: 35px;height: 35px;/*background-color: #4169E1;*/background-image: radial-gradient(70px at 17.5px 0, #f00);}




參考資料:radial-gradient CSS3的蛋疼的徑向漸變

 

 1 <!DOCTYPE html>
 2 <html>
 3 
 4 <head>
 5 <meta charset="UTF-8">
 6 <title>內凹圓角</title>
 7 <meta name="description" content="css3,內凹圓角">
 8 <meta name="author" content="郭菊鋒702004176@qq.com"/>
 9 <style type="text/css">
 10 .egg {
 11 display: block;
 12 margin-top: 30px;
 13 width: 100px;
 14 height: 100px;
 15 border-radius: 50px;
 16 background: radial-gradient(at 35px 35px, #FFF, #CCC, #FFF);
 17 background: -webkit-radial-gradient(35px 35px, #FFF, #CCC, #FFF);
 18 }
 19 
 20 .something-meaningful {
 21 display: inline-block;
 22 width: 55px;
 23 height: 55px;
 24 overflow: hidden;
 25 line-height: 130px;
 26 background: #655;
 27 text-align: center;
 28 /* padding: .8em; */
 29 position: relative;
 30 float: left;
 31 }
 32 
 33 .brdradius {
 34 border-top-left-radius: 45%;
 35 }
 36 
 37 .something-meaningful> div {
 38 width: 100px;
 39 height: 100px;
 40 background: #fff;
 41 border-radius: 5em;
 42 position: absolute;
 43 top: -46px;
 44 left: 2px;
 45 /*padding: 1em;*/
 46 }
 47 
 48 .radius {
 49 width: 50px;
 50 height: 50px;
 51 line-height: 100px;
 52 display: block;
 53 text-align: center;
 54 background-image: radial-gradient(200px at 50px 0px, #fff 50px, #4169E1 50px);
 55 }
 56 .uls{
 57 list-style-type: none;
 58 *zoom: -1;
 59 }
 60 .uls:after{
 61 content: "";
 62 clear: both;
 63 display: block;
 64 }
 65 .uls li{
 66 display: block;
 67 float: left;
 68 width: 120px;
 69 height: 35px;
 70 background-color: #4169E1;
 71 text-align: center;
 72 line-height: 35px;
 73 color: white;
 74 /*做上圓角*/
 75 border-top-left-radius : 15px;    
 76 border-top-right-radius : 15px;    
 77 }
 78 .li-boradiu{
 79 display: inline-block;
 80 width: 35px;
 81 height: 35px;
 82 /*background-color: #4169E1;*/
 83 background-image: radial-gradient(70px at 17.5px 0, #f00);
 84 }
 85 </style>
 86 </head>
 87 
 88 <body>
 89 
 90 <h3>1.網上看到的一個很有趣的小案例——用radial-gradient制作立體質感圓球。</h3>
 91 <!--http://blog.csdn.net/playboyanta123/article/details/9303857-->
 92 <span class="egg"></span>
 93 
 94 <!--手動內凹!-->
 95 <h3>2.如下是一種用一個圓和一個方形盒子疊加做出的內凹圓角的的效果。</h3>
 96 <div class="something-meaningful brdradius"></div>
 97 <div class="something-meaningful">
 98 <div>
 99 <a href="http://www.w3cplus.com/css3/css-secrets/inner-rounding.html"></a>
100 </div>
101 </div>
102 <h3 style="clear: both;padding-top: 10px;">3.自己也來玩玩</h3>
103 <span class="radius"></span>
104 <p>這樣 利用個背景色的徑向漸變background-image: radial-gradient(200px at 50px 0px, #fff 50px, #4169E1 50px);,就畫出這么一個小內凹角來,想要另外方向的也可以變化。如下的一個完整案例</p>
105 <ul class="uls">
106 <li>1 107 <span class="li-boradiu"></span>
108 </li>
109 <li>2 110 <span class="li-boradiu"></span>
111 </li>
112 <li>3</li>
113 </ul>
114 
115 
116 
117 
118 
119 <a href="http://blog.csdn.net/playboyanta123/article/details/9303857">參考資料:radial-gradient CSS3的蛋疼的徑向漸變</a>
120 
121 </body>
122 
123 </html>
代碼實現

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM