2016-02-19 1 views
0

Я работаю над сайтом с заголовком вверху и основной областью содержимого. Заголовок не прокручивается, но основная область. Это означает, что у меня есть скроллбар справа от главной площади, но не в правой части заголовка, и они не выстраиваются в очередь:Лучший способ справиться с неправильно выровненным заголовком и главным образом из-за полосы прокрутки

enter image description here

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

Они оба выровнены с помощью этого CSS:

.center-content { 
    width: 100%; 
    max-width: 800px; 
    margin: 0 auto; 
} 

Каков наилучший подход для этого?

Я подумывал просто добавить полосу прокрутки навсегда, но я действительно не хочу этого делать. Затем я мог бы добавить несколько дополнений слева от основного раздела, чтобы повторно центрировать его. В качестве альтернативы я мог бы добавить отступ справа от заголовка.

Вопросы:

  • Как изменить стиль заголовка на основе основной погоду секция имеет полосы прокрутки?
  • Как бы добавить дополнение к основному разделу на основе того, что у него есть полоса прокрутки?
  • Как получить ширину полосы прокрутки? это гарантированно должно быть одинаково во всех браузерах (мне нужно обслуживать мобильный телефон, а)

Я создал JSbin для этого, который демонстрирует проблему. Я использую таблицы стилей material-design-lite.

+0

Пожалуйста, добавьте еще один код, чтобы получить более точный ответ (т. Е. HTML и CSS, который показывает вашу проблему) – Joseph

+0

Я добавил js-bin, который демонстрирует проблему. – Roaders

ответ

0

Вы не захотите изменять какие-либо стили на основе полосы прокрутки - я думаю, что это слишком сложно, и почти наверняка будет задействован javascript. Полосы прокрутки также не согласованы между браузерами/мобильными устройствами. Лучшим вариантом было бы исправить заголовок в верхней части страницы и сделать контент div margin-top равным высоте заголовка. Тогда полоса прокрутки, когда она появится, будет справа от всей страницы. Смотрите пример здесь:

http://output.jsbin.com/xuroyaceli/#

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

+0

Спасибо, я думаю, что это лучший подход, но я не знаю, как применить это к стилям, которые я использую в стиле material-design-lite. Я не хочу заходить слишком далеко от их проектов, чтобы исправить это, это возможно. Мне действительно не нравится делать верхнюю прописку, чтобы основной контент попал под заголовком. Это кажется таким взломанным. Я хотел бы как можно скорее убежать от таких хакеров. – Roaders

+0

Не совсем понимаю, почему вы считаете, что это взлома - фиксированное положение занимает заданную область экрана, а с помощью поля или отступов вы можете поручить своему контенту освободить место для этой части экрана. Вот еще один источник, который использует одно и то же решение: http://cssreset.com/creating-fixed-headers-with-css/ – Joseph

+0

Я знаю, что это общепринятый способ делать такие вещи, но вы изменяете главный div так, что он может использоваться в этом месте и таким образом.Вы должны знать, когда редактируете этот контент, который вам нужен, чтобы оставить пробел наверху из-за деталей реализации общей компоновки страницы. Это было бы непонятно, если бы вы редактировали этот контент изолированно. Это также означает, что вы не можете повторно использовать этот контент на другом сайте или части сайта без внесения в него изменений. – Roaders