Jump to content
  • 0

Что лучше: проценты или em?


kiska
 Share

Question

Друзья, подскажите!

Что лучше (рациональней) использовать: проценты или em в указании размеров, чтобы блоки, элементы, текст при увеличении или уменьшении масштаба отображались на странице пропорционально, занимая всю видимую область?

Link to comment
Share on other sites

15 answers to this question

Recommended Posts

  • 0

1. текст не маштабируеться

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

3. бордеры, тени...?

Меня интересуют блоки и элементы в них. Если выставить высоту и ширину блока в процентах, а также картинку в блоке в процентах, будут ли они пропорционально увеличиваться или уменьшатся относительно размеров экрана?

Тоже самое если выставить в em. Как блок будет увеличиваться или уменьшаться при такой единице измерения???

Link to comment
Share on other sites

  • 0
Меня интересуют блоки и элементы в них. Если выставить высоту и ширину блока в процентах, а также картинку в блоке в процентах, будут ли они пропорционально увеличиваться или уменьшатся относительно размеров экрана?

Да, но для высоты надо будет проставить значения всей цепочке родителей, вплоть до html.

Тоже самое если выставить в em. Как блок будет увеличиваться или уменьшаться при такой единице измерения???

Так же, как шрифт текста.

Link to comment
Share on other sites

  • 0
Меня интересуют блоки и элементы в них. Если выставить высоту и ширину блока в процентах, а также картинку в блоке в процентах, будут ли они пропорционально увеличиваться или уменьшатся относительно размеров экрана?

Да, но для высоты надо будет проставить значения всей цепочке родителей, вплоть до html.

Тоже самое если выставить в em. Как блок будет увеличиваться или уменьшаться при такой единице измерения???

Так же, как шрифт текста.

Спасибо за совет. Попробую выставить в процентах.

Link to comment
Share on other sites

  • 0
em - это величина, за которую берется стандартный размер шрифта. 16 px, если не ошибаюсь.

Почему тогда у span размер шрифта такой же, как у родителя, а не в два раза меньше? http://jsfiddle.net/pPneG/

То же, но с процентами: http://jsfiddle.net/pPneG/1/

Edited by hedgehog
Link to comment
Share on other sites

  • 0
Почему тогда у span размер шрифта такой же, как у родителя, а не в два раза меньше?

потому что от родительского считается :facepalmxd:

1em это такой же размер как у родителя. у родителя 2em - в 2 раза больше стандартного.

Link to comment
Share on other sites

  • 0

Почему тогда у span размер шрифта такой же, как у родителя, а не в два раза меньше? http://jsfiddle.net/pPneG/

То же, но с процентами: http://jsfiddle.net/pPneG/1/

Потому что em берется от высчитанной высоты родителя. По умолчанию, как правило высота базового шрифта 16px. Поэтому высота p будет 2 * 16 = 32px, а высота span - 1 * 32 = 32px.

Link to comment
Share on other sites

  • 0

Я всегда думал, что проценты и em это одно и тоже... Ну т.е. 1em == 100%, тут как бы дело вкуса как записывать...

Для шрифтов практически так и есть (не считая нюансов округления и реакции на смену Text Size в старых IE, ЕМНИП). Но топикстартер спрашивала о размерах блоков...

Link to comment
Share on other sites

  • 0

Зависит от конкретной ситуации, но в общем случае:

Для текста em, для остального проценты.

Или zoom/transformation:scale

А вообще помоему задача поставлена некорректная.

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

Link to comment
Share on other sites

  • 0

ТС, может вот эта статья немного внесёт ясности.

Зависит от конкретной ситуации, но в общем случае:

Для текста em, для остального проценты.

Или zoom/transformation:scale

А вообще помоему задача поставлена некорректная.

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

Кстати, имхо, сейчас уже можно смело юзать пиксели и не париться)

Link to comment
Share on other sites

  • 0
Потому что em берется от высчитанной высоты родителя. По умолчанию, как правило высота базового шрифта 16px. Поэтому высота p будет 2 * 16 = 32px, а высота span - 1 * 32 = 32px.

Именно это я и пытался донести автору предыдущего сообщения на примере :)

Link to comment
Share on other sites

  • 0

Много просмотрела сайтов на эту тему, в общем, мнения расходятся.. Кто как привык, кому как удобно теми единицами и пользуются. В общем, я решила в блоках выставить проценты, а текст оставить в em. Вроде, при изменении масштаба всё отображается пропорционально.

Спасибо за дискуссию :)

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy