“.ul-menu:after”中 “.ul-menu”代指所有类名为“.ul-menu”的元素,也就是正常元素,而“:after”则代指在“.ul-menu”这个元素内部的末尾处,这个“after”即为伪元素,因为这个元素在HTML代码里并不存在,所以成为“伪元素”,也就是假的元素,其中属性名“content”就是设定这个元素的内容。
也就是在所有“.ul-menu”的末尾添加一个“.”。
“display:block”确实如你所说,而visibility则是用于隐藏该元素的视觉效果,使得该元素不在浏览器中呈现,注意“display:none”也可以使得元素不可见,但这两者有区别,“visibility:hidden”使得元素不存在的同时使该元素还占有其原来在文档流中的位置,“display:none”则不会。