任务二这样为什么不行
.clearfix li::after{......}
为什么一定要在a后面,再li后面不行?
li::after 这样写只有一个圆圈出现是因为定位的问题,
仔细去看下
.slider { position: absolute; width: 100%; text-align: center; z-index: 9999; bottom: 100px; } .slider li { display: inline-block; width: 170px; height: 130px; margin-right: 15px; }
这一段代码里面,li是没有定位的,即没有position,而以下:
.slider a { display: inline-block; width: 170px; padding-top: 70px; padding-bottom: 20px; position: relative; cursor: pointer; border: 2px solid #fff; border-radius: 5px; vertical-align: top; color: #fff; text-decoration: none; font-size: 22px; font-family: 'Yesteryear', cursive; text-shadow: -1px -1px 1px rgba(0, 0, 0, 0.8),-2px -2px 1px rgba(0, 0, 0, 0.3),-3px -3px 1px rgba(0, 0, 0, 0.3); }
a标签是有position定位的。再看任务二:
/*任务二、设置缩略图形状*/ { content:""; display: block; height: 120px; width: 120px; border: 5px solid #fff; border-radius: 50%; position: absolute; left: 50%; margin-left: -60px; z-index: 9999; top: -80px; }
这里的position:absolute;是要基于离它最近有定位属性的父元素定位的。
所以,如果按照你这样写,那么所有的 圆圈将都会以 .slide 进行定位,都只会基于一个点。
若是想要按照你写的实现效果,可以给 .slide li { position:relative};即可。
.clearfix a::after有5个框 但是前面是clearfix他的子元素不应该是li?
因为a是li的儿子啊,缩略图是加在a的链接上的,如果加在li的后面不就是跟a没关系了?