2014-11-02 2 views
0

Если вы посмотрите здесь на http://jsfiddle.net/nqugcutn/, вы заметите, что тень окна на моем заголовке покрывается содержимым, которое имеет фон изображения. (Простите недостающий шрифт). Как я могу получить тень коробки?Моя коробочная тень покрывается изображением

/* Header */ 

.header { 
    background: linear-gradient(#ffffff, #f5f5f5); 
    width: 100%; 
    margin-top: 0; 
    height: 75px; 
    border-top: 5px solid #1379DB; 
    box-shadow: 1px 1px 5px #000; 
    z-index: 1; 
} 

.logoName { 
    color: #000; 
    font-family: Lobster, sans-serif; 
    font-size: 30px; 
    margin: 20px 20px; 
    float: left; 
} 

/* Content */ 

.container { 
    background-image: url(http://i.imgur.com/ScGxG2b.png); 
    background-size: cover; 
    background-color: #242424; 
    height: 1000px; 
    width: 100%; 
    z-index: 2; 
} 

Заранее благодарен!

+1

Ваш z-индекс на контейнере выше, чем z-индекс в заголовке. –

+0

Возможный дубликат [CSS3 box-shadow для перекрывающихся друг друга divs] (http://stackoverflow.com/questions/3410727/css3-box-shadow-for-overlapping-like-divs) – Hbirjand

ответ

3

Добавление position: relative; в ваш .header div приведет к тому, что рамная тень появится над фоновым изображением. Вот демо:

/* Header */ 
 

 
.header { 
 
    background: linear-gradient(#ffffff, #f5f5f5); 
 
    width: 100%; 
 
    margin-top: 0; 
 
    height: 75px; 
 
    border-top: 5px solid #1379DB; 
 
    box-shadow: 1px 1px 5px #000; 
 
    z-index: 1; 
 
    position: relative; 
 
} 
 
.logoName { 
 
    color: #000; 
 
    font-family: Lobster, sans-serif; 
 
    font-size: 30px; 
 
    margin: 20px 20px; 
 
    float: left; 
 
} 
 
.header ul { 
 
    list-style-type: none; 
 
    margin-top: 20px; 
 
    margin-right: 250px; 
 
    float: right; 
 
} 
 
.header ul li { 
 
    display: inline-block; 
 
    font-family: Montserrat, sans-serif; 
 
    color: #333; 
 
    font-size: 20px; 
 
    padding: 10px 10px; 
 
} 
 
.header ul li a { 
 
    font-family: Montserrat, sans-serif; 
 
    color: #333; 
 
    font-size: 20px; 
 
} 
 
.header ul li a:hover, 
 
.header ul li a:active { 
 
    border-bottom: #1379DB solid; 
 
    color: #000; 
 
} 
 
.header ul li a:link { 
 
    text-decoration: none; 
 
} 
 
/* Content */ 
 

 
.container { 
 
    background-image: url(http://i.imgur.com/ScGxG2b.png); 
 
    background-size: cover; 
 
    background-color: #242424; 
 
    height: 1000px; 
 
    width: 100%; 
 
    z-index: 2; 
 
}
<div class="header"> 
 
    <h1 class="logoName">Company Name</h1> 
 
    <ul> 
 
    <li><a href="#">Home</a> 
 
    </li> 
 
    <li><a href="/showcase">Showcase</a> 
 
    </li> 
 
    <li><a href="/message">Contact Us</a> 
 
    </li> 
 
    </ul> 
 
</div> 
 
<div class="container"> 
 
</div>

jsFiddle demo.

+1

Спасибо, это работает! Из любопытства только в случае изменения, скажем, я хотел, чтобы он прокручивал страницу. Должен ли я использовать JavaScript для этого, или есть альтернатива? – Thomas

+0

В этом случае вы можете просто использовать 'position: fixed' вместо' position: relative'. Вот демо для этого: http://jsfiddle.net/nqugcutn/3/ –

+0

, чтобы он оставался на месте, независимо от прокрутки, использовать позицию: исправлено. –

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