Клеточки на CSS
Когда возникает необходимость сделать клеточки как в школьной тетради не используя при этом изображения, первым делом в голову приходят градиенты.
Для этого создадим два повторяющихся градиента, один из которых повернут на 90 градусов:
Смотрим что получается: к сожалению, линии отрисовываются как попало, а при изменении размера окна могут совсем пропадать.
Лучше всех с отображением пока справляется Safari, но и в нем ширина линий "плавает".
Плюс способа: не зависит от размеров контейнера. Минус: некорректное отображение.
Другой способ, который пришел мне в голову — использовать box-shadow
.
Конструкция получается довольно громоздкая, потому что приходится использовать псевдо-элементы и для каждого из них прописывать длинный список теней:
Никакой красоты и многократные повторения. Однако результат во всех браузерах выглядит аккуратно:
Плюс способа: железобетонность, не зависит от изменения размеров окна браузера. Минусы:
- избыточный код;
- многократные повторения цвета (неудобно для перекрашивания);
- зависимость от размеров блока. Можно сделать сетку с запасом по размерам (что ещё больше раздует код) либо использовать только для элементов с фиксированными размерами.
Upd: Свойство background-size
легко и изящно решает задачу:
При этом с помощью background-size
можно легко менять размер клеток.
- Ссылки по теме:
- CSS-градиенты: линейные градиенты
- Box shadow
- Метки:
- эксперименты,
- градиенты,
- тени