• 关于border-width的奇妙探索


    刚好刷前端面试题里有一道关于气泡对话框的,然后就思考怎么做捏~~ 然后就觉得应该有创建蒙版之类的特技!不会 == 于是看看张鑫旭的博客,看到了边框法实现底部90度尖角对话框,第一遍看,觉得代码看起来怪怪的,好吧,先顺着敲一遍看看。然后,极端的改变下属性值或者注释看看~~啊噢,原来是border-width在施魔法呢~于是,我就开始玩了......咦,好像发现了点什么呢~~~想起来了,border-width的四条边框是可以单独设置的,然后,终于见识了transparent的神奇~

     1 <!doctype html>
     2 <html lang="en">
     3 <head>
     4     <meta charset="UTF-8">
     5     <title>测试border-width</title>
     6     <style type="text/css">
     7     div{
     8         /*这里给一个空的div设置border后,将显示一个高度为20px的矩形框*/
     9         width: 500px;
    10         border:10px solid red;
    11         margin-bottom: 30px;
    12     }
    13     .third{
    14         border-color:red transparent;
    15     }
    16     .change{
    17         /*现在有点像沙漏了吧,再慢慢的改变width的值,仔细一测量,这里的width就是两个凹进去的点的水平距离,而定边和底边的宽度等于width+2*border-width*/
    18         width:2px;
    19     }
    20     .four{
    21         border-color:red transparent transparent transparent;
    22     }
    23     .five{
    24         width: 0;
    25         /*改变这里的height值看看,挺有意思的 */
    26         height: 20px;
    27     }
    28     .six{
    29         width: 200px;
    30         height: 0px;
    31     }
    32     .seven{
    33         border-width:10px;
    34         border-color:red red transparent transparent; 
    35     }
    36     .eight{
    37         border-width:10px;
    38         border-color:transparent red transparent transparent; 
    39     }
    40     .nine{
    41         border-width:10px;
    42         border-color:transparent transparent red transparent; 
    43     }
    44     .ten{
    45         border-width:10px;
    46         border-color:transparent transparent transparent red;
    47     }
    48     .eleven{
    49         border-width:10px;
    50         border-color:transparent transparent red red;
    51     }
    52     </style>
    53 </head>
    54 <body>
    55 <!-- 当div没有高,只设置span时,div效果就是一个矩形啦,高度就是border-width的两倍,真的,不骗你,不信你自己看第一个效果 -->
    56     <div></div>
    57     <div>当div里有文字的时候,也就是div有自己的高度时,border会是什么效果呢?这个时候我们可以看成,div的上下分别被一个高度为10px的矩形包围,左右分别被一个宽度为10px的矩形包围。</div>
    58     <!-- 当我的border-color:red transparent时,我就成了这样一个怪样纸 -->
    59     <div class="third"></div>
    60     <div class="third change"></div>
    61     <div class="third">我和上面的哥们都设置了border-color:red transparent;但是我有文字,也就是我有自己的高度,</div>
    62     <!-- 当div没有高度且border-color:red transparent transparent;你自己看,这到底是怎么回事呢?我的border-bottom好像失踪啦-->
    63     <div class="four"></div>
    64     <div class="four">我和上面的哥们都设置了border-color:red transparent transparent;虽然我现在有高度了,但是我的border-bottom好哥们还是没回家</div>
    65     <div class="four five"></div>上面显示了一个底边为20px,高度为10px的倒直角三角形。这里的底边宽度和高度都是由border-width决定的,和我的height根本没关系呢
    66     <div class="four six"></div>下面显示了一个顶边为20px,底边为40px,高为10px的倒立梯形
    67     <div class="seven"></div>
    68     <div class="eight"></div>
    69     <div class="nine"></div>
    70     <div class="ten"></div>
    71     <div class="eleven"></div>
    72 </body>
    73 </html>

    运行效果:

     

  • 相关阅读:
    vuex 命名空间
    vue-touchjs
    Jackson最简单用法
    Bootstrap登录样式
    Left/Right/Inner Join用法和区别
    VS2015安装提示出现“安装包丢失或损坏”解决方法
    HTML之禁止输入文本
    jQuery之call()方法的使用
    jQuery操作cookie
    jQuery常用的查找Dom元素方法
  • 原文地址:https://www.cnblogs.com/rosestudy/p/4836927.html
Copyright © 2020-2023  润新知