为什么这边没有边界?

时间:2011-01-07 16:22:55

标签: html css

几乎解释了它。当你切换不可见的div时,它周围没有边框,即使它是在CSS中指定的

下面添加了代码段

$("#button").click(function () {
    $(".hidden").slideToggle(200);
    });
.hidden{
    	background-color:#ccc;
    	width:120px;
    	text-decoration:none;
    	font-size:14px;
    	color:blue;
    	display:none;
    	border:thick;
    	border:green;
    	margin: 1em 1em 1em 1em;
    	padding: 1em 1em 1em 1em;	
    }
    .style2 {
    	border: 1px solid #000000;
    }
<!DOCTYPE html>
    <html>
    <head>
      <script src="http://code.jquery.com/jquery-1.4.4.js"></script>
    </head>    
    <body>
      <div class="hidden">woot</div>
    <table style="width: 25%" cellspacing="1" class="style2">
    	<tr>
    		<td class="style2" style="width: 182px"><p id="button"><a href="#">Toggle</a></p>&nbsp;</td>
    		<td class="style2">&nbsp;</td>
    	</tr>
    	</table>
    </body>
    </html>

7 个答案:

答案 0 :(得分:3)

因为您通过声明两次来覆盖border属性:

border:thick;
border:green;

第二次取消优先于第一次取消。如果你这样做了:

border-style: solid;
border-color: green;

它会正常工作。

更简洁的解决方案是将值组合成单个去除:

border: 1px solid green;

就我所阅读的规格而言,你的边框样式值'thick'也不存在。

值包括:点线,虚线,实线,双槽,脊,插入和&amp;首先。

<强>更新

我现在看到'thick'值是指border-width,在这种情况下可以使用这个值。

border-style: solid;
border-color: green;
border-width: thick;

border: thick solid green;

答案 1 :(得分:2)

您要指定速记border两次。我怀疑底部覆盖了顶部,宽度为0

结合它们:

border: thick green;

或者不要使用速记:

border-width: thick;
border-color: green;

答案 2 :(得分:1)

应该是

border: 1px solid green;

或以下三个一起

border-style: solid;
border-width: thick;
border-color: green;

答案 3 :(得分:1)

border是一个速记属性 - 这是写出来的简写方式:

border-width: thick;
border-style: solid;
border-color: green;

尝试:

border: thick solid green;

答案 4 :(得分:1)

您错过了一个边框参数并且您应用错误,请尝试border: thick solid green;而不是:

border:thick;
border:green;

答案 5 :(得分:0)

border: think; border: green;更改为border: thick green solid;。你需要定义这三个东西才能显示边框。

答案 6 :(得分:0)

你不需要变得复杂。

border: 5px solid #000;