Size: a a a

2019 September 11

S

SaW in БЭМ
Sergey Berezhnoy
я бы сказал, что в «реальных проектах» таких случаев нет

попробую объяснить ещё вот так:

1) использование ресетов делает блоки контекстно зависимыми (т. е. зависимыми от того, что выше подключен ресет), а это уменьшает гибкость при всевозможных рефакторингах (по сути это против идеи независимых блоков) — не то чтобы БЭМ-методология строго запрещала подобную контекстную зависимость, иногда она бывает оправдана (например, для установки общего шрифта на всю страницу), но всегда важно понимать эту оправданность

2) в какой-то момент мыобнаружили, что по статистике нашего реального кода, сбрасываемые ресетами стили или а) переопределяются в большинстве блоков (всякие отступы) или б) не влияют на отображение блока — поэтому получается, что ресеты избыточны и напрасно занимают трафик и время рендеринга (кстати, не маленькое, т. к. аффектят все элементы)
допустим человек любит делать все на div-ах (а у меня такой есть знакомый), а затем уже другие люди превратили их в h1-h6 - в результате подабавлялись браузерные margin-ы, и такой же ситуации с другими тегами может быть куча. В итоге, что лучше:   проверять все страницы на наличие таких багов или не беспокоиться о таких вылазинях, если ты изначально все обнулил?
источник

NU

Nikolay Us in БЭМ
допиши стили
источник

VH

Vitaly Harisov in БЭМ
SaW
допустим человек любит делать все на div-ах (а у меня такой есть знакомый), а затем уже другие люди превратили их в h1-h6 - в результате подабавлялись браузерные margin-ы, и такой же ситуации с другими тегами может быть куча. В итоге, что лучше:   проверять все страницы на наличие таких багов или не беспокоиться о таких вылазинях, если ты изначально все обнулил?
Это палка о двух концах, и с использованием ресетов, и без них могут быть проблемы. Мы использовали ресеты во всех проектах Яндекса года так до 2010, а потом отказались от ресета, мир не рухнул.
источник

S

SaW in БЭМ
И вот вы Виталий писали "сброс margin/padding нужно делать у body, ul/ol/li, p. не так уж много, к тому же они будут входить в какие-то блоки, где скорее всего будут заданы им собственные стили. делать глобально не нужно", значит все таки нужно сброс делать?
источник

S

SaW in БЭМ
понятно что мир не рухнул) но и на таблицах люди верстали и тоже не рухнул)
источник

VH

Vitaly Harisov in БЭМ
SaW
И вот вы Виталий писали "сброс margin/padding нужно делать у body, ul/ol/li, p. не так уж много, к тому же они будут входить в какие-то блоки, где скорее всего будут заданы им собственные стили. делать глобально не нужно", значит все таки нужно сброс делать?
Есть браузерные дефолты, как правило они перекрываются своими какими-то стилями, потому что мало кого удовлетворяет браузерный дефелт в его дизайне.

Т.е. поскольку всё равно надо будет задавать какой-нибудь margin: 0 20px для p в каком-нибудь блоке, нет смысла сначала делать * { margin: 0 }, а потом задавать margin: 0 20px внутри блока

Ресет приводит к тому, что у всех блоков в инспекторе есть лишние дополнительные стили. Как минимум, это не красиво ;)
источник

S

SaW in БЭМ
никто не говорит * использовать. Обнулить только конкретные свойства у конкретных тегов
источник

VH

Vitaly Harisov in БЭМ
Это одно и то же
источник

S

SaW in БЭМ
Вы сами пишите "body, ul/ol/li, p" - вот у них и убрать margin/padding
источник

SB

Sergey Berezhnoy in БЭМ
SaW
понятно что мир не рухнул) но и на таблицах люди верстали и тоже не рухнул)
вообще-то рухнул ;-) это тема отдельного треда, но у вёрстки таблицами есть объективные недостатки, которые в итоге привели бОльшую часть людей к альтернативным техникам
источник

S

SaW in БЭМ
Sergey Berezhnoy
вообще-то рухнул ;-) это тема отдельного треда, но у вёрстки таблицами есть объективные недостатки, которые в итоге привели бОльшую часть людей к альтернативным техникам
недостатки есть, но не рухнул и как-то выживали люди
источник

S

SaW in БЭМ
я к тому, что это не аргумент
источник

SB

Sergey Berezhnoy in БЭМ
SaW
допустим человек любит делать все на div-ах (а у меня такой есть знакомый), а затем уже другие люди превратили их в h1-h6 - в результате подабавлялись браузерные margin-ы, и такой же ситуации с другими тегами может быть куча. В итоге, что лучше:   проверять все страницы на наличие таких багов или не беспокоиться о таких вылазинях, если ты изначально все обнулил?
какая-то проблемная ситуация и менять нужно что-то фундаментальнее, чем ресет
источник

S

SaW in БЭМ
Sergey Berezhnoy
какая-то проблемная ситуация и менять нужно что-то фундаментальнее, чем ресет
хорошо, кто-то сделал список через ul/li, а кто-то div>div
источник

SB

Sergey Berezhnoy in БЭМ
SaW
Вы сами пишите "body, ul/ol/li, p" - вот у них и убрать margin/padding
какой смысл им убирать паддинги, если в большинстве случаев в конкретных блоках будут потом свои паддинги?
источник

SB

Sergey Berezhnoy in БЭМ
SaW
хорошо, кто-то сделал список через ul/li, а кто-то div>div
и скорее всего, в реальной жизни, оба из них задали конкретные паддинги не нулевые
источник

S

SaW in БЭМ
человек сделал через div и прописал padding, потом блоки заменили на ul - появились лишние marginы, который 1-й человек не предусмотрел или необнулил или что ему нужно было сделать?
источник

S

SaW in БЭМ
а если бы было все обнулено, то никакие стили стандартные никогда бы нигде не вылазили бы)
источник

SB

Sergey Berezhnoy in БЭМ
SaW
человек сделал через div и прописал padding, потом блоки заменили на ul - появились лишние marginы, который 1-й человек не предусмотрел или необнулил или что ему нужно было сделать?
я к тому, что скорее всего даже для вёрстки дивами были прописаны все отступы и поля
источник

S

SaW in БЭМ
т.е. я должен заранее думать на будущее, что могут заменить тег и прописывать нулевые margin?
источник