2011-07-21 85 views
2

一位开发人员设置了以下css规则,该规则必须保留。CSS恢复为默认样式

* { 
    border: medium none; 
    list-style: none outside none; 
    margin: 0; 
    outline: medium none; 
    padding: 0; 
} 

这会从SELECT和INPUT字段中删除边界,使它们看起来不太理想。如果我删除萤火虫的边框样式,那么这些字段再次看起来正常。我必须添加哪些css规则才能恢复到浏览器设置的默认样式?

编辑:这些都是我想恢复到(我的电脑上)的样式:

Screenshot http://www.456bereastreet.com/lab/styling-form-controls-revisited/select-single-option/icab-3-osx.png

+1

对于跨浏览器解决方案,您不能*添加*样式并将窗体元素恢复正常。 '*'选择器是一种CSS代码味道。 – zzzzBov

回答

2

我认为你的同胞开发商正在试图做的是创造自己的复位(类似于雅虎重置等)。但是,由于他声明*而不是特定元素,所以它将边界从一切中删除。

虽然你可以解决这个问题,但仍然可以通过将*改为最常用的元素(无格式元素)将浏览器的默认边框重新放置在表单元素上 - 这有点难看,但它确实符合你的要求:

a,abbr,acronym,address,b,blockquote,body,br,caption,dd,div,dl,dt,em,fieldset,form,h1,h2,h3,h4,h5,h6,hr,html,i,img,label,legend,li,link,menu,ol,p,pre,small,span,strong,table,td,th,tr,u,ul 
{ 
    border: medium none; 
    list-style: none outside none; 
    margin: 0; 
    outline: medium none; 
    padding: 0; 
} 
+0

酷,我改变规则给你,现在这个工作正常:) – stef

+0

此外,我只做了最常见的元素,有一些没有包括但是非常具体的流浪者 - 所以如果你发现一些bug,检查它的标签在列表中。 :) – Joshua

+0

我有一个类似的问题。在创建嵌入代码的同时,我需要将样式重置为浏览器原始样式,即使已经设置了其他样式。我怎样才能做到这一点? –

0

不幸的是,你需要设置新值。没有reset值。

如果要添加边框,请设置新的边框样式。或者删除你发布的风格。

+0

哪种边框风格?在我正在使用的Mac上,SELECT不仅仅是一条线。 – stef

+0

@stef:您是否尝试为'select'设置边框样式? –

+0

是的。看到我张贴在OP – stef

1

添加这些:

select, input { 
border: solid 1px; /* or whatever you want */ 
} 
+0

的屏幕截图,不过这只是一条黑线。 – stef

+0

您需要将颜色设置为您希望看到的任何颜色。 'border:solid 1px [color]' – Mrchief

+0

正如我上面所说的,在Mac上,select不会简单地围绕它。 – stef