Есть список элементов, у каждого есть рамка. Необходимо:
1. Чтобы рамки везде были по 2px (включая первый и последний элемент) - с этим я разобрался
2. При ховере рамки элемента, сверху и снизу, меняли цвет - вот здесь главная проблема, потому что у меня рамки сделаны по логике(рамка верхнего элемента 1px + нижнего 1px = нужная ширина 2px ) . Ну собственно, если даже поставить 2px элементы начнут "скакать" и будет рамка от соседнего элемента в 1px. Думал сделать ещё на четные и нечетные элементы, но тоже понимаю что там будет криво и по PixelPerfect не пройдет, больше идей нету, как это грамотно реализовать.
Смысл в рамках у средних элементов, при наведении, остается рамка сверху и снизу от других элементов, а нужно чтобы ховер был, на 2px т.е. в примере получается что и на рамку соседнего верх. и ниж. элементов
Вместо работы с непосредственно границами рекомендую смотреть в сторону псевдо-элементов.
1) Наложите каждый из элементов списка друг на друга через margin-top: -2px;
2) Пропишите только боковые границы, а в качестве верхней и нижней используйте псевдоэлементы ::before и ::after.
3) При наведении на основной элемент перемещайте эти псевдоэлементы вверх по z-index и меняйте им цвет.