<sup id="sjju3"><noscript id="sjju3"></noscript></sup>
    <big id="sjju3"></big>

  • <blockquote id="sjju3"></blockquote>
    <blockquote id="sjju3"></blockquote>

      <td id="sjju3"></td>

      <big id="sjju3"></big>
        <code id="sjju3"><strong id="sjju3"><dl id="sjju3"></dl></strong></code>
      1. 如何使用css绘制钻石的方法

          发布时间:2019-02-15 15:58:36   作者:芬达Tz   我要评论

        这篇文章主要介绍了如何使用css绘制钻石的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

        听?#30340;?#24819;要钻石:gem:?买不起,还是用css来画一个吧,但你敢送给自?#21495;?#26379;友,不保证不被打。

        下午两点要相亲,要不把这个送相亲对象?

        效果

        先看下效果吧,想一想怎么构图先。

        上图是已经完成的效果。钻石整体都是由三角形构成,上五下三。上边是五个等边三角形,其中有2个是倒扣过来填补三个之间的空缺。下边是一个等腰三角形和2个对称的钝角三角形,差不多就是这样。(钝角三角形不是太好理解,至少我没成功,这里的钝角三角形是用等腰三角形通过 transform: skew() 实现的)

        知识点

        这个demo中涉及到了css3 的 transform , css 画三角形 以及 如何给css画出的三角形加边框 ,三角形的边框构成了钻石的棱角(白色的线条),预处理语言使用的是 less

        三角形的边框?#20309;?#20204;知道,三角形本来就是用 border 画的,给三角形加边框相当于给 borderborder ,这个做法肯定行不通。我是这样做的:画2个三角形,一个大的一个小的,小的比大的小 1px ,然后小的盖在大的上面,这样大三角形就只漏出 1px ,视觉效果就是成为了内部小三角形的边框线了。参考博文

        开始

        dom准备

        <div id="diamond">
          <div class="t">
             <div class="common top"></div>
             <div class="common top"></div>
             <div class="common top"></div>
             <div class="common top"></div>
             <div class="common top"></div>
          </div>
         <div class="b">
            <div class="common bottom bottom1"></div>
            <div class="common bottom bottom2"></div>
            <div class="common bottom bottom3"></div>
         </div>
        </div>

        三角形的个数是上五下三。 请忽略命名,please

        样式

        钻石上部分

        先把 common 的样式定义出来

        #diamond {
          margin: 100px;
          .t { //直接定义了高度免去了清除浮动
            height:30px;
          }
          .common { // 公共样式
            position:relative;
            float:left;
            width:0;
            height:0;
            border-style:solid; // 元素本身做大三角形,衬底成为小三角形的边框
            &:after { // 伪元素定义小三角形
              content: '';
              position:absolute;
              border-style:solid;
            }
          }
          div.top { // 钻石顶部的5个三角形特定样式
            border-width:0 30px 30px; // 三角形大小
            border-color:transparent transparent #fff; // 三角形颜色
            &:after { // 小三角形
              top:1px; // 移动三角形使之盖在底部的大的三角形
              left:-28px;
              border-width:0 28px 28px; // 小三角形的大小定义
              border-color:transparent transparent red;
            }
            &:nth-child(2n) { // 第二个第四个三角形倒立。
              transform:rotate(180deg);
            }
            &:nth-child(n+2) { // 从第二个开始都向左移动30px
              margin-left: -30px;
            }
          }
        }
        

        在样式中都做了注释,不再赘述 , ?#19968;?#35828;我赶时间去相亲? 到这呢效果只有钻石上面的部分。如下图:

         

        钻石下部分

        // 上部分的样式省略了
         div.bottom {
            border-width:90px 30px 0 30px; // 高度?#23454;?#30340;高点,这里给了90px
            border-color:#fff transparent transparent; // 三角形向下,底色白色
            &:after { // 同上,做出内部红色的小三角形,尺寸稍小,漏出白色的“边框线”
              border-width:88px 28px 0 28px;
              border-color:#f00 transparent transparent;
              top:-89px;
              left:-28px;
            }
            /*
             *   到这应该是三个等腰三角形
             *   第一个第三个三角形应该要是钝角三角形的。
             *   所以要进行一下倾斜操作
             */ 
            
            &.bottom1 { // 底部第一个三角形倾斜转换
              transform: skew(33.5deg);
              transform-origin: 100% 0;
            }
            &.bottom3 { // 底部第三个三角形倾斜转换,与第一个对称
               transform: skew(-33.5deg);
               transform-origin: 100% 0;
            }
          }
          // 数学不好,这个角度是我试了几次试出来的,数学好的可?#36816;?#19979;呢,啊哈哈哈

        注释里都写了。 不赘述不赘述,别问为什?#30784;?

        差不多就是这样了,上一下效果。

        ?#19968;?#35828;这就是一开始的效果图? 总觉得差点什么,duangduang 加一下特效

        buling buling的效果,啊哈哈哈哈哈哈。

        以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

        相关文章

        • 如何使用css绘制钻石的方法

          这篇文章主要介绍了如何使用css绘制钻石的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习
          2019-02-15
        • css的content属性的具体使用

          这篇文章主要介绍了css的content属性的具体使用,用于呈现伪元素的内容。平时content属性值我们用的最多的就是给个纯字符,其实它还有很多值可供选择。?#34892;?#36259;的可以了解一
          2019-02-14
        • css加载会造成阻塞吗

          可能大家都知道,js执行会阻塞DOM树的解析和渲染,那么css加载会阻塞DOM树的解析和渲染吗?下面就跟随小编一起来了解一下
          2019-02-13
        • css隐藏移动端滚动条并且ios上平滑滚动的方法

          这篇文章主要介绍了css隐藏移动端滚动条并且ios上平滑滚动的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
          2019-01-23
        • css多种方式实?#20540;?#23485;布局的示例代码

          本文讲的等宽布局是在不手动设置元素宽度的情况下,使用纯css实现各个元素宽度都相当的效果。具有一定的参考价值,?#34892;?#36259;的小伙伴们可以参?#23478;?#19979;
          2019-01-22
        • 纯CSS实现表单验证的示例代码

          这篇文章主要介绍了纯CSS实现表单验证的示例代码的相关资?#24076;?#23567;编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
          2019-01-21
        • 详解利用clear清除浮动的一些问题解决

          这篇文章主要介绍了详解利用clear清除浮动的一些问题解决的相关资?#24076;?#23567;编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
          2019-01-18
        • 聊一聊CSS中的长度单位的使用

          CSS中有很多属性可以接受长度值,比如: width, height, margin, padding, border-width, font-size, text-shadow。因为使用场景多,因此CSS也提供了许多长度单位,本文就
          2019-01-16
        • 你真的需要了解一下CSS变量 var()的用法

          当Web项目变得越来越大时,他的CSS会变得像天文数字那么大而?#19968;?#21464;?#27809;?#20081;。为了帮助我们解决这个问题,新的CSS变量很快就会出现在主流浏览器中,这篇文章主要介绍了你真的
          2019-01-15
        • 详解css?#35813;?#24230;之rgba和opacity的区别及兼容

          对于设置?#35813;?#24230;,我们有两个可以选的css3属性:rgba 和 opacity。这篇文章主要介绍了详解css?#35813;?#24230;之rgba和opacity的区别及兼容,?#34892;?#36259;的可以一起跟随小编来了解一下
          2019-01-10

        最新评论

        2018白小姐一肖中特马
        <sup id="sjju3"><noscript id="sjju3"></noscript></sup>
        <big id="sjju3"></big>

      2. <blockquote id="sjju3"></blockquote>
        <blockquote id="sjju3"></blockquote>

          <td id="sjju3"></td>

          <big id="sjju3"></big>
            <code id="sjju3"><strong id="sjju3"><dl id="sjju3"></dl></strong></code>
          1. <sup id="sjju3"><noscript id="sjju3"></noscript></sup>
            <big id="sjju3"></big>

          2. <blockquote id="sjju3"></blockquote>
            <blockquote id="sjju3"></blockquote>

              <td id="sjju3"></td>

              <big id="sjju3"></big>
                <code id="sjju3"><strong id="sjju3"><dl id="sjju3"></dl></strong></code>
              1. 广东时时彩11选五 浙江体彩排列三走势图 广西快三开奖记录 湖北30选5全部开奖结果 北京赛车pk10有限公司 河北十一选五走势图手机 陕西十一选五直选最大遗漏数据 神童特码图 宁夏十一选五任选 二八杠106口诀 西甲马竞夺冠 曾道人一码中特网 内蒙古十一选五中奖助手 澳洲内陆急速赛车 贵州快3最新开奖