2016-03-30 4 views
0

У меня есть div, что под моим полем отображается ошибка, если есть один в form.Div Display Issue

Проблема заключается в том, если я использую inline-block, что когда-нибудь я в div области будет отображаться в цвете ошибки

Я только хочу background: red;, когда поле больше не является пустым.

div#alert-block { 
 
    height:15px; 
 
    clear:both; 
 
} 
 

 
.alert-error {  
 
    display: inline-block; 
 
    color: #fff; 
 
    background-color: #ff0000; 
 
    height:20px; 
 
    width: 100%; 
 
    clear:both; 
 

 
}
<div id="alert-block"> 
 
    <span class="alert-error">{email_error}</span> 
 
</div>

+0

Можете ли вы полный код для людей, чтобы ясно видеть то, что вы пытаетесь сделать, а также улучшить свой код –

+0

, который является код – Amaru

+1

Это уже отображается в красном цвете. В чем проблема? – ketan

ответ

0

Попробуйте использовать: пусто после кода.

.alert-error:empty { 
    background-color: green; 
} 

для получения дополнительной информации и совместимости браузера проверки: https://css-tricks.com/almanac/selectors/e/empty/

или для дальнейшего улучшения (не уверен о совместимости браузера, хотя)

.alert-error:not(:empty) {  
    display: inline-block; 
    color: #fff; 
    background-color: #ff0000; 
    height:20px; 
    width: 100%; 
    clear:both; 
} 
+0

pegla спасибо вам столько, сколько мне нужно – Amaru

0

Изменено width: auto в class«оповещения при ошибке ". Попробуй. Если нет сообщение об ошибке, то вы не получите background: red;. Надеюсь, это ваше требование!

div#alert-block { 
 
    height:15px; 
 
    clear:both; 
 
} 
 

 
.alert-error {  
 
    display: inline-block; 
 
    color: #fff; 
 
    background-color: #ff0000; 
 
    height:20px; 
 
    width: auto; 
 
    clear:both; 
 

 
}
<div id="alert-block"> 
 
    <span class="alert-error">{email_error}</span> 
 
</div>