I have put together the following CodePen which works perfectly, but I am wanting to know if there is a better way to apply :before
& :after
hover effect positions to each of the li
link options more globally instead of adding a :before
& :after
set for every link option separately? They currently use an absolute positioning, where the top and left is defining its position, but ideally I want the :before
& :after
to be in the same position relative to each of the li
.
So currently I am doing this:
.myLi-1:hover:after {
top: 66px;
left: 284px;
position: absolute;
}
.myLi-1:hover:before {
top: -2px;
left: 284px;
position: absolute;
}
/* List Item 2 */
.myLi-2:hover:after {
top: 114px;
left: 284px;
position: absolute;
}
.myLi-2:hover:before {
top: 46px;
left: 284px;
position: absolute;
}
/* List Item 3 */
.myLi-3:hover:after {
top: 162px;
left: 284px;
position: absolute;
}
.myLi-3:hover:before {
top: 94px;
left: 284px;
position: absolute;
}
/* List Item 4 */
.myLi-4:hover:after {
top: 210px;
left: 284px;
position: absolute;
}
.myLi-4:hover:before {
top: 142px;
left: 284px;
position: absolute;
}
/* List Item 5 */
.myLi-5:hover:after {
top: 258px;
left: 284px;
position: absolute;
}
.myLi-5:hover:before {
top: 190px;
left: 284px;
position: absolute;
}
Please see the pen for a live working version and I believe the problem will be far more understandable: