• 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>
    代码实现
  • 相关阅读:
    2020年Android面试题含答案
    flutter系列(一)----- 开发环境搭建
    Android应用安全防护和逆向分析 ——apk混淆成其他语言代码
    Android应用安全防护和逆向分析 ——apk反编译
    Android中 TextView 加载 混合字符 自动换行解决方案
    H5跳转app本地的规则定义
    Android ListView 九大重要属性详细分析
    ListView和ScrollView滑动到顶部
    简要的汇总Android
    关于ViewPager+Fragment中Fragment不销毁/生命周期
  • 原文地址:https://www.cnblogs.com/padding1015/p/5879776.html
Copyright © 2020-2023  润新知