2010-04-02 6 views
1

Должно быть, мне что-то не хватает, но может кто-то объяснить, что я делаю неправильно с моим CSS? Я бы хотел, чтобы все кнопки имели определенный формат, за исключением нескольких. Я ожидал использовать CssClass, чтобы переопределить некоторые из них, которые должны быть разными, но все они, похоже, используют стандартный.Кнопка CSS не стиль

Мой CSS:

.btn 
{  
    border:none; 
    background-color:red;   
}  

input[type="submit"] 
{ 
    border: 2px solid black; 
    background-color:green;   
} 

Все кнопки занимают второе значение (зеленый фон с рамкой). Тем не менее, у меня есть эта кнопка:

<asp:Button ID="btnAdd" CssClass="btn" runat="server" Text="Add" /> 

Я ожидал этого, не имеет границ, и красный фон, но это так же, как и любую другую кнопка.

Любые идеи, что я делаю неправильно? Thanks

+1

Можете ли вы показать сгенерированный HTML-код вместо источника ASP? В каких браузерах вы пытаетесь это сделать? –

+0

Не является ли атрибут границы CSS упорядоченным цветом ширины цвета не шириной цвета? окантовка: [style] [ширина] [цвет] – 2011-05-16 23:14:24

ответ

3

type='button' правила, вероятно, побеждает btn правила в специфичности. Вы можете использовать !important, но это не сработает в IE < 8 и обязательно даст проблемы в долгосрочной перспективе.

Попробуйте это первая:

input[type="submit"].btn 
    { 

     border:none; 
     background-color:red; 

    } 
+0

это работает. Я использую этот метод вместо совместимости. Благодаря! –

1

Место .btn ниже вас input[type="submit"] правило. Если это еще не работает, важно!

.btn 
{  
    border:none !important; 
    background-color:red !important;  
} 

Смотрите здесь для CSS старшинства: http://www.w3.org/TR/CSS2/cascade.html

0

Стоит также отметить, что селекторы атрибутов, таких как input[type="submit"] не будет работать в IE, они делают в FF, хотя.

+0

Вы уверены? Кажется, он работает в IE8 для меня. Есть ли альтернативный способ стилизации всех кнопок для IE? –

+0

Я имел в виду, что IE 6,7 - 8 вполне может поддержать их, но, безусловно, старая версия этого не делает. Нет способа выбора элементов только по CSS в этих браузерах, вы всегда можете применить 'class =" submit "к всем кнопкам отправки, а затем применить стиль к' .submit'. – Steve

+0

Спасибо за информацию. Я думаю, что я создам класс submit и буду использовать его. –