2013-04-06 5 views
26

Я строю отзывчивый веб-сайт, и мне интересно, какой блок я должен использовать? Я видел много сайтов, использующих пиксели (px) для измерений, и я видел некоторые, используя процент (%). Есть ли предпочтительный или правильный способ выполнения адаптивного дизайна?Какой предпочтительный блок при выполнении адаптивного дизайна?

Я считаю, что процент трудно использовать, так как он делает вычисления сложными, и я получаю значения, такие как 2.754% и т. Д. При настройке ширины/полей и т. Д. Пиксели кажутся проще, это просто добавление и вычитание, но я читал, что это не «будущее доказательство» или что-то в этом роде, и не будет правильно масштабироваться, если пользователь увеличит масштаб в окне браузера. Это правда?

Если у вас есть опыт или знания, пожалуйста, поделитесь! Я хотел бы услышать, что вы, ребята, должны сказать!

Спасибо!

+1

_Responsive_ и _absolute values_ (как пиксели) немного противоречат друг другу. Чаще всего проще использовать относительные значения для ваших простых свойств ('width') и абсолютных значений для min/max (' max-width', 'min-width'). Таким образом, он все еще остается отзывчивым, но вы можете сделать некоторые предположения относительно ширины стилизованного контейнера. – Zeta

+0

См. [Этот вопрос] (http://stackoverflow.com/questions/12450961/responsive-layout-px-em-or) – Bigood

+0

Я думаю, что ответ в основном прав. Во всяком случае, в CSS есть много единиц. Посмотреть это сообщение от Chris Coyier: http://css-tricks.com/the-lengths-of-css/ – pzin

ответ

4

Используйте проценты вместе с минимальной шириной и максимальной шириной в пикселях. Это останавливает проценты, делая ваши divs слишком маленькими или слишком большими. например

div { 
    width:100%; //full width of browser 
    max-width: 960px; //this means it will be 100% of the browser until 960px then it will stop expanding 
} 
9

Конечно, вы должны использовать процент. Но с min-height, max-height, min-width, max-width Ключи CSS.

Для следующего поколения

Vw и Vh. Vw - 1/100-й ширины окна, а vh - 1/100-й высоты окна. Для реагирования они будут новыми единицами.

+0

Я пробовал это на Firefox 20. Он работает. – zkanoca

+0

Да, я думаю, что они работают в нескольких браузерах, но где-то рядом с готовыми к не экспериментальной разработке: P –

29

Для раскладка типа вещей, как размеры коробки, вы хотите использовать %, потому что вы, как правило, имеют несколько столбцов размеры в процентах от их родителей, которые будут суммироваться друг на друга в определенной точке останова (width:100%) , Никакая другая единица не позволит вам заполнить 100% пространства, например %.

Для padding/marginem, как правило, вы захотите разместить свои элементы относительно размера вашего текста. С em (с символом «M») вы можете легко сказать, что мне требуется примерно 1 символьный интервал.

Для границ вы можете использовать px или em, но есть разница. Если вы хотите, чтобы ваша граница выглядела так, чтобы она была одной шириной на всех устройствах, используйте 1px. Это может быть не один пиксель на всех устройствах, однако дисплеи с высокой плотностью преобразуют 1px в 2px. Если вы хотите, чтобы ваша граница была размером на основе вашего шрифта, используйте em.

Для шрифтов использование em (или %), использование em несет через родителей к детям, и это только лучше блок для работы с более чем px.

+1

Это очень далеко от набора правил. Этот ответ является хорошим руководством, но есть много случаев, когда использование других устройств может работать намного лучше. –

+1

Для границ вы также можете использовать «тонкие», «средние» и «толстые». Они соответствуют «1px», «3px» и «5px», но также масштабируемы в зависимости от вашего увеличения и т. Д. Они также лучше, чем 'em', потому что граница, определенная с помощью' em', просто исчезает, когда вы уменьшаете масштаб и его ширину становится меньше, чем '1px'. – tomasz86

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