我的这段代码运行正常,但通常(不是专门针对此代码),我的高级开发人员告诉我避免在保证金上减去负值。
#speech-bubble {
   margin:100px;
   width: 120px; 
   height: 80px; 
   background: blue;
   position: absolute;
   -moz-border-radius: 10px; 
   -webkit-border-radius: 10px; 
   border-radius: 10px;
}
#speech-bubble:before {
   content:"";
   position: absolute;
   width: 0;
   height: 0;
   border-top: 13px solid transparent;
   border-right: 26px solid blue;
   border-bottom: 13px solid transparent;
   margin: 13px 0 0 -25px;
}<body>
  <div id="speech-bubble">
  </div>
</body>为什么我需要避免保证金为负值?
如果删除了内容:“”我的代码不起作用,但我认为这是不必要的行。
这是做什么的?从代码中删除它后,一切正常吗?
-moz-border-radius: 10px;
-webkit-border-radius: 10px;
1.我的问题是为什么需要避免保证金为负值?
负边距与边距是元素周围的空间的正常概念是违反直觉的。负边距在技术上没有问题,但会使代码更难以阅读和维护。如果有更直接的替代方法,最好使用它。
2.如果我删除了内容:“”我的代码不起作用,但我认为它是不必要的行..
:before并在定义了a 的情况:after下创建伪元素。如果您不提供 a ,则伪元素中可能不会显示任何内容。HTMLcontentcontent
检查此处的规格,默认值content是none不应生成pseudo-element.
''如果元素中不需要任何内容,则必须使用空字符串。
- -moz-border-radius: 10px; 是什么意思?-webkit边框半径:10px;当我从代码中删除它后,它工作正常:)
border-radius可以通过 google 搜索得到其含义,-moz、-webkit、-ms等-o是浏览器在规范批准之前引入的实验规则的浏览器前缀。与支持旧版本 gecko 的浏览器-moz-border-radius上的预发行版本非常相似。border-radius大多数最新的浏览器都支持这些规则,没有任何浏览器前缀。