2013-07-12 2 views
1

У меня есть страница с основным содержанием и правой боковой панелью. Но я хочу иметь боковую панель перед основным блоком контента при изменении размера страницы. Как я могу это сделать?Как получить правую боковую панель вверх по основному содержимому при изменении размера с помощью страницы?

HTML часть:

<div id="header"> 
    <div id="logo"></div> 
</div> 

<div id="container"> 

    <div id="content"> 
     main content 
    </div> 

    <div id="sidebar"> 
     sidebar 
    </div>    

</div> 

<div id="footer"> 
    footer 
</div> 

CSS часть:

#container { 
    clear: both; 
    overflow: auto; 
} 

#content { 
    clear:both; 
    width: 70%; 
    float: left; 
    padding: 2% 0; 
    margin-right: 2%; 
} 

#sidebar { 
    width: 28%; 
    float: right; 
    padding: 2% 0; 
} 
+0

Вы хотите боковую панель отображается до основного контента? Как и в обоих divs будет 100% ширина, но правая боковая панель будет до основного? На любой странице изменить размер вообще, или, в частности, размер видового экрана (вы пытаетесь сделать отзывчивый дизайн)? – smilebomb

+0

Да. :-) Я использую @media max-width для изменения порядка содержимого. – Fanda

ответ

0

Поскольку вы пытаетесь сделать отзывчивый дизайн, то, что вы хотите сделать, - это медиа-запрос в вашем CSS, который позволит вам стилизировать изменения, которые вы хотите сделать. Первое решение, которое вы должны сделать, - это размеры экрана, которые вы хотите отобразить в ответном дизайне. Таблетки обычно имеют максимальную ширину 760 пикселей, а телефоны составляют максимальную ширину 480 пикселей. Таким образом, запрос СМИ будет выглядеть примерно так:

CSS:

@media screen and (max-width: 480px){ 
    ...all your mobile styles are in here... 
} 

Теперь, чтобы ответить на вопросы позиционирования у вас есть. Конечно, есть несколько способов, так как я бы это сделал - это переместить боковую панель над содержимым в HTML, удалить clear из содержимого CSS, а внутри медиа-запроса все, что вам нужно сделать, это сделать ширину для обе divs 100%.

HTML:

<div id="header"> 
    <div id="logo">The logo</div> 
</div> 

<div id="container"> 

    <div id="sidebar"> 
     sidebar 
    </div> 

    <div id="content"> 
     main content 
    </div> 
</div> 

<div id="footer"> 
    footer 
</div> 

CSS:

#container { 
    clear: both; 
    overflow: auto; 
} 

#content { 
    float:left; 
    width: 50%; 
    background:grey; 
} 

#sidebar { 
    width: 25%; 
    float:right; 
    background:lightgrey; 
} 
@media screen and (max-width:480px){ 
    #sidebar { 
     width:100%; 
    } 
    #content { 
     width:100%; 
    } 
} 
+0

Я пытался это сделать раньше, но забыл о содержании. Большое спасибо! – Fanda

1

В мультимедийном запросе плавать ваш #sidebar налево и ваш #content правильно.

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