2016-07-05 3 views
0

В this page фотография заголовка не отображает полную ширину.CSS: дочерний элемент шириной 100% только 50% шириной

#wrap { 
 
    width: 990px; 
 
} 
 
#content-wrap { 
 
    display: flex; 
 
} 
 
.image-header { 
 
    display: block; 
 
    width: 100%; 
 
} 
 
.image-header img { 
 
    width: 100%; 
 
    height: auto; 
 
} 
 
.container { 
 
    position: relative; 
 
    width: 960px; 
 
    margin: 0 auto; 
 
    padding: 0; 
 
}
<div id="wrap"> 
 
    <div id="content-wrap" class="fluid clearfix" data-content="content"> 
 
    <!-- /#start content-wrap --> 
 
    <div class="image-header"> 
 
     <img src="https://staging.orsgroup.com.au/eapportal/wp-content/uploads/sites/2/2016/07/ORS-Internals-960x211-EmployServOccu21.jpg" alt="Home Page" title="Home Page"> 
 
    </div> 
 
    <div class="clear"></div> 
 
    <div class="container"> 
 
     <div id="content" class="sixteen columns"> 
 
     <section class="post-9 page type-page status-publish hentry"> 
 

 
      <h1>Home Page</h1> 
 

 
      <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam mollis tortor vel diam volutpat luctus. Proin placerat nisl nulla, in mattis ex consectetur quis. Interdum et malesuada fames ac ante ipsum primis in faucibus. Donec vitae enim 
 
      vel nibh hendrerit dignissim a et ante. Mauris eget tempus nunc. Donec dignissim elit sed ullamcorper semper. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas facilisis, risus eu varius lacinia, diam tortor volutpat ipsum, 
 
      eu luctus neque massa quis leo. Phasellus blandit pellentesque justo non ornare. Cras et elit sit amet quam consequat viverra vel a diam. Pellentesque rutrum, dolor sit amet condimentum dapibus, lorem est dapibus orci, a congue ante ante ac 
 
      lectus. Donec maximus pretium venenatis. Cras ex leo, pellentesque in libero sit amet, auctor congue sapien. Aliquam nec mi commodo ipsum sagittis tincidunt. Vestibulum sollicitudin laoreet eros vel finibus. Integer accumsan consectetur neque 
 
      eget sodales.</p> 
 
     </section> 
 
     <!-- #post-## --> 
 
     <!-- You can start editing here. --> 
 
     </div> 
 
     <!-- /#content-wrap --> 
 
     <div class="clear"></div> 
 
    </div> 
 
    </div> 
 
</div>

Однако .image-header отображает только около 50% от ширины #content-wrap.

Я добавил width: 100%; в #content-wrap, но проблема остается.

Я хочу сохранить гибкую модель.

Помогите оценить.

+1

Я поправка на ваш вопрос, чтобы включить полный воспроизводимый пример в самом вопросе. Для будущих ссылок ссылки на внешние сайты недостаточно, как будто проблема исправлена ​​(или страница исчезает), вопрос потеряет всякий смысл. –

ответ

1

Почему это происходит

Этот потому что вы используете модель flexbox, которая пытается распространять элементы в одной строке. Есть несколько способов, вы можете избежать этого:

Allow содержания завернуть

По умолчанию flex-wrap устанавливаются в nowrap, установив это wrap текстовое содержимое будет вынуждено на следующую строку при запуске Из космоса.

#wrap { 
 
    width: 990px; 
 
} 
 
#content-wrap { 
 
    display: flex; 
 
    flex-wrap: wrap; 
 
} 
 
.image-header { 
 
    display: block; 
 
    width: 100%; 
 
} 
 
.image-header img { 
 
    width: 100%; 
 
    height: auto; 
 
} 
 
.container { 
 
    position: relative; 
 
    width: 960px; 
 
    margin: 0 auto; 
 
    padding: 0; 
 
}
<div id="wrap"> 
 
    <div id="content-wrap" class="fluid clearfix" data-content="content"> 
 
    <!-- /#start content-wrap --> 
 
    <div class="image-header"> 
 
     <img src="https://staging.orsgroup.com.au/eapportal/wp-content/uploads/sites/2/2016/07/ORS-Internals-960x211-EmployServOccu21.jpg" alt="Home Page" title="Home Page"> 
 
    </div> 
 
    <div class="clear"></div> 
 
    <div class="container"> 
 
     <div id="content" class="sixteen columns"> 
 
     <section class="post-9 page type-page status-publish hentry"> 
 

 
      <h1>Home Page</h1> 
 

 
      <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam mollis tortor vel diam volutpat luctus. Proin placerat nisl nulla, in mattis ex consectetur quis. Interdum et malesuada fames ac ante ipsum primis in faucibus. Donec vitae enim 
 
      vel nibh hendrerit dignissim a et ante. Mauris eget tempus nunc. Donec dignissim elit sed ullamcorper semper. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas facilisis, risus eu varius lacinia, diam tortor volutpat ipsum, 
 
      eu luctus neque massa quis leo. Phasellus blandit pellentesque justo non ornare. Cras et elit sit amet quam consequat viverra vel a diam. Pellentesque rutrum, dolor sit amet condimentum dapibus, lorem est dapibus orci, a congue ante ante ac 
 
      lectus. Donec maximus pretium venenatis. Cras ex leo, pellentesque in libero sit amet, auctor congue sapien. Aliquam nec mi commodo ipsum sagittis tincidunt. Vestibulum sollicitudin laoreet eros vel finibus. Integer accumsan consectetur neque 
 
      eget sodales.</p> 
 
     </section> 
 
     <!-- #post-## --> 
 
     <!-- You can start editing here. --> 
 
     </div> 
 
     <!-- /#content-wrap --> 
 
     <div class="clear"></div> 
 
    </div> 
 
    </div> 
 
</div>

Изменить направление гибкого

По умолчанию flex-direction устанавливается в row, установив это column содержание будет согнуты сверху вниз, а не слева направо.

#wrap { 
 
    width: 990px; 
 
} 
 
#content-wrap { 
 
    display: flex; 
 
    flex-direction: column; 
 
} 
 
.image-header { 
 
    display: block; 
 
    width: 100%; 
 
} 
 
.image-header img { 
 
    width: 100%; 
 
    height: auto; 
 
} 
 
.container { 
 
    position: relative; 
 
    width: 960px; 
 
    margin: 0 auto; 
 
    padding: 0; 
 
}
<div id="wrap"> 
 
    <div id="content-wrap" class="fluid clearfix" data-content="content"> 
 
    <!-- /#start content-wrap --> 
 
    <div class="image-header"> 
 
     <img src="https://staging.orsgroup.com.au/eapportal/wp-content/uploads/sites/2/2016/07/ORS-Internals-960x211-EmployServOccu21.jpg" alt="Home Page" title="Home Page"> 
 
    </div> 
 
    <div class="clear"></div> 
 
    <div class="container"> 
 
     <div id="content" class="sixteen columns"> 
 
     <section class="post-9 page type-page status-publish hentry"> 
 

 
      <h1>Home Page</h1> 
 

 
      <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam mollis tortor vel diam volutpat luctus. Proin placerat nisl nulla, in mattis ex consectetur quis. Interdum et malesuada fames ac ante ipsum primis in faucibus. Donec vitae enim 
 
      vel nibh hendrerit dignissim a et ante. Mauris eget tempus nunc. Donec dignissim elit sed ullamcorper semper. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas facilisis, risus eu varius lacinia, diam tortor volutpat ipsum, 
 
      eu luctus neque massa quis leo. Phasellus blandit pellentesque justo non ornare. Cras et elit sit amet quam consequat viverra vel a diam. Pellentesque rutrum, dolor sit amet condimentum dapibus, lorem est dapibus orci, a congue ante ante ac 
 
      lectus. Donec maximus pretium venenatis. Cras ex leo, pellentesque in libero sit amet, auctor congue sapien. Aliquam nec mi commodo ipsum sagittis tincidunt. Vestibulum sollicitudin laoreet eros vel finibus. Integer accumsan consectetur neque 
 
      eget sodales.</p> 
 
     </section> 
 
     <!-- #post-## --> 
 
     <!-- You can start editing here. --> 
 
     </div> 
 
     <!-- /#content-wrap --> 
 
     <div class="clear"></div> 
 
    </div> 
 
    </div> 
 
</div>

+0

Красивые. Спасибо, HH. – Steve

+0

Без проблем @ Стейв, рад, что смогу помочь. –

0

Насколько я знаю, вы должны быть хорошо идти, если вы просто сделать:

.image-header { 

    width: 100% !important; 
    position: absolute; /* If it works without this, remove it. If it doesn't, you'll need to add a margin to not make the text go under it */ 
    height: 300px; 
    margin-left: auto; 
    margin-right: auto; 

} 
+0

Это определенно сделает изображение на 100% шириной, но текст под ним будет перекрываться на изображении и должен будет заполняться не менее 200 пикселей. –

+0

@TanyaSinha Ах, это очень верно. Не думал об этом – Xariez

0
#content-wrap { 
    display:flex 
} 

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

Вы можете использовать:

#content-wrap { 
    -webkit-flex-flow: row wrap; 
} 

.image-header,.container { 
    -webkit-flex: 1 100%; 
} 

это решит вашу проблему, и вы можете использовать модель гибкого окна также

+0

Спасибо Таня. Я создал шаблон вокруг модели Flex. Есть ли работа вокруг, которая не включает удаление 'display: flex;'? – Steve

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