В шаблоне WordPress я генерирую следующий HTML:
<article class="home-post-container">
<div class="home-post-thumb">
<?php if ( has_post_thumbnail() ) {
the_post_thumbnail();
} ?>
</div>
<div class="home-post-content">
<h4 class="post-title">
<?php the_title(); ?>
</h4>
<?php the_content(); ?>
</div>
</article>
Я хочу использовать гибкий контейнер, чтобы вызвать .home-post-content
быть рядом с .home-post-thumbnail
на рабочем столе и под миниатюрой на маленьких экранах.
Я создал следующий CSS, но ориентация не переключается, когда это необходимо (т.е. при 400px).
Отображаемая страница всегда flex-direction: row
независимо от ширины экрана.
.home-post-thumb{
flex: 1;
margin: auto;
}
.home-post-content{
flex:3 ;
}
@media (min-width: 401px;){}
.home-post-container{
display:flex;
-webkit-flex-direction: row;
flex-direction: row;
padding: 1vw 1vw;
}
}
@media (max-width: 400px;){
.home-post-container{
display:flex;
-webkit-flex-direction: column;
flex-direction: column;
padding: 1vw 1vw;
}
}
Ваш CSS недействителен. Правила внутри @media
запрос не нуждается в закрывающей точке с запятой ;
и наличие их сломает запрос.
Также вы открыли медиазапрос и закрыли его в той же строке @emdia (condition){}
тем самым делая его устаревшим.
Правильный код будет выглядеть так:
.home-post-container { border:1px solid; padding: 1em; }
@media (min-width: 400px) {
.home-post-container {
display: flex;
-webkit-flex-direction: row;
flex-direction: row;
}
.home-post-content { flex: 1; padding: 1em; }
}
<article class="home-post-container">
<div class="home-post-thumb">
<img src="http://placehold.it/200x200" alt="">
</div>
<div class="home-post-content">
<h4 class="post-title">title</h4>
<p>content</p>
</div>
</article>
Ваш CSS может быть упрощен. Он также содержал несколько синтаксических ошибок.
.home-post-container {
display: flex;
padding: 1vw;
}
.home-post-thumb {
flex: 1;
margin: auto;
border: 1px solid red;
}
.home-post-content {
flex:3;
border: 1px solid red;
}
@media (max-width: 400px) {
.home-post-container { flex-direction: column; }
}
<article class="home-post-container">
<div class="home-post-thumb">POST THUMBNAIL</div>
<div class="home-post-content">
<h4 class="post-title">POST TITLE</h4>
POST CONTENT
</div>
</article>