2012-02-24 3 views

ответ

6

Ваш CSS работает правильно, как изображение и цвет фона сидеть в одном контейнере так, потому что они того же цвета, вы не может видеть стрелку.

Лучший способ для решения этой проблемы является использование внешнего DIV, который оборачивает ваш элемент заголовка, например так:

<div class="outer"><h1></h1>​​​​</div>​​​​​​​​​ 

И затем стиля с соответствующим CSS:

div { 
    float: right; 
    width: 198px; 
    background-image:url(http://s14.postimage.org/nitv9x7ct/top_Arrow.png);   
    background-position: 0px; 
    background-repeat: no-repeat; 
    margin-top:21px; 
} 

h1{ 
    color:white; 
    font-size: 170%; 
    font-weight: normal; 
    font-family: arial; 
    width:189px; 
    height:33px; 
    line-height: 33px; 
    background-color: #b21f23; 
    float:right; 
} 

Так, чтобы уточнить, внешний div немного больше и содержит фоновое изображение, выровненное влево, а затем заголовок заполняет все оставшееся пространство цветом фона.

+0

Это может работать, но из семантического div нет средств! – palAlaa

+1

Правильно, div не является специфическим семантическим элементом, они существуют прежде всего для визуального отображения страницы. Если ваша стрелка предназначена исключительно для эстетических целей, тогда подходит. Если ваша стрелка должна передать фактический смысл пользователю (т. Е. Слепой пользователь должен знать об этом), то более подходящим решением было бы встроить стрелку в качестве элемента img с атрибутом alt и поплавать h1 рядом с ним. – DNJohnson

0

попробовать этот

background: url(http://s14.postimage.org/nitv9x7ct/top_Arrow.png) no-repeat left center #b21f23; 

это добавит фоновое изображение и все остальное будет ваш цвет фона

+0

Такая же проблема, вот она http://jsfiddle.net/xdkwB/1/ – palAlaa

0

Вы установили цвет фона того же цвета, что и изображение. Так оно и есть, вы просто не можете его увидеть, потому что он вписывается.

+0

http://jsfiddle.net/xdkwB/12/ – ChrisPatrick

-2

Вы стрелка того же цвета, что и фон te. Вы можете позиционировать фон с помощью background-position, а с отрицательным левым значением оно выходит за рамки:

+0

Нет, как только она находится вне коробки, она не будет видна. – ChrisPatrick

+0

-1 Это просто скроет «background-image» из вида – Curt

1

Я не думаю, что вы можете получить желаемый результат только с одним стилем элемента.

Вы должны либо иметь background-image вне элемента, что невозможно.

Или вам нужно бы background-color, чтобы не заполнить все элемента, который также не представляется возможным


Лучший вариант ИМО, будет иметь два элемента с background-image в первом, и background-color во втором

http://jsfiddle.net/xdkwB/11/

Пример с текстом:

http://jsfiddle.net/xdkwB/13/

Пример плавал право:

http://jsfiddle.net/xdkwB/14/

+0

mmm Обычно я делаю цвет фона родительского элемента и фоновое изображение для дочернего элемента, но этому случаю не нужен дочерний элемент! – palAlaa

Смежные вопросы