Мене, як у верстальника, завжди серйозно напружував той момент, що товщина рамки в CSS враховується при формуванні ширини блоку. Я згоден, що так воно правильніше, але в деяких випадках, це просто кричуща несправедливість, яка тягне за собою багато додаткових проблем.
Однією такою проблемою була неможливість для мене зверстати макет з ідеально рівним вирівнюємо блоків по краях. Який-небудь блок завжди, так вилазив за краї всіх інших. Згладжувало цю проблему то, що "це вилазити" було максимум на 1-2 пікселя і найчастіше замовник просто не помічав цього. Але особисто мене це сильно напружувало.
Це те ж саме, що купувати китайську підробку швейцарських годинників. Начебто виглядає все так само, але сам то ти розумієш, що це підробка.
Зовсім трохи теорії
У стандарті CSS закладено, що кінцева ширина блоку формується з розміру padding-відступу, ширини рамки (якщо у рамки по горизонталі 2 краю, то цей розмір потрібно ще множити на 2) і ширини тексту. Те значення width. яке все вказують блоку div і було шириною тексту. Багато хто думає, що це ширина блоку, але це не так. Саме так думав і я.
В CSS є інструмент, який дозволяє обійти такий стан речей і дозволяє css-параметром width задавати ширину блоку без урахування відступів і бордерів.
Рішення завдання
Для того, щоб було простіше зрозуміти ось бойової приклад:
Параметри -moz-box-sizing і -webkit-box-sizing необхідні для того, щоб старі версії брузеров Firefox і Safari розуміли, що включати ширину рамки і розміри відступів в цьому випадку не потрібно.
Кожен фахівець повинен щодня шукати нову інформацію в своїй області діяльності. Адже не дарма кажуть, що життя - це рух тільки вперед. Якщо ви прожили день і нічого нового з нього не винесли, то будьте впевнені, що прожили цей день даремно!
P.S. Для мене як для розробника сайтів на замовлення є дуже серйозним випробуванням - пошукове просування сайту. Для мене всі ці пошукові системи, SEO - темний ліс, який я намагаюся "віддати" іншим людям, так як професіоналом людина може бути тільки в одній, в своїй області. Чужого мені не потрібно.