รวม: หลังจากด้วย: โฮเวอร์


176

ฉันต้องการรวม:afterกับ:hoverใน CSS (หรือตัวเลือกหลอกอื่น ๆ ) ฉันเป็นพื้นมีรายชื่อและรายการที่มีระดับมีรูปร่างลูกศรประยุกต์ใช้selected :afterฉันต้องการเหมือนกันที่จะเป็นจริงสำหรับวัตถุที่ถูกโฉบไป แต่ไม่สามารถทำให้มันทำงานได้ นี่คือรหัส

#alertlist
{
    list-style:none;
    width: 250px;
}
#alertlist li
{
    padding: 5px 10px;
    border-bottom: 1px solid #e9e9e9;
    position:relative;
}
#alertlist li.selected, #alertlist li:hover
{
    color: #f0f0f0;
    background-color: #303030;
}

#alertlist li.selected:after
{
    position:absolute;
    top: 0;
    right:-10px;
    bottom:0;

    border-top: 10px solid transparent;
    border-bottom: 10px solid transparent;
    border-left: 10px solid #303030;
    content: "";
}

<ul id="alertlist">
    <li>Alert 123</li>
    <li class="selected">Alert 123</li>
    <li>Alert 123</li>
</ul>

คุณพยายามเพิ่มกฎ #alertlist li: hover: after หรือไม่
Andrea

คำตอบ:


225

เพียงต่อท้ายตัวเลือก:afterของคุณ#alertlist li:hoverในแบบเดียวกับที่คุณ#alertlist li.selectedเลือก:

#alertlist li.selected:after, #alertlist li:hover:after
{
    position:absolute;
    top: 0;
    right:-10px;
    bottom:0;

    border-top: 10px solid transparent;
    border-bottom: 10px solid transparent;
    border-left: 10px solid #303030;
    content: "";
}

29
@ Chris สิ่งที่คุณคุณอาจพยายามก่อนหน้านี้เมื่อเทียบกับ:after:hover :hover:afterนี่คือสิ่งที่ฉันทำในตอนแรกซึ่งน่าผิดหวังไม่ทำงาน
WickyNilliams

3
@WickyNilliams: นั่นคือจากการออกแบบ (หลอกองค์ประกอบกับชั้นเรียนหลอก) - ดูstackoverflow.com/questions/5777210/…
BoltClock

3
ดูเหมือนจะไม่ทำงานกับการตกแต่งข้อความใน Chrome (v43) หรือใน FF (v38)
geoidesic

@geoidesic: การตกแต่งข้อความเป็นปัญหาที่แตกต่างออกไปโดยสิ้นเชิง โดยเฉพาะอย่างยิ่งพวกเขาเล่นได้ไม่ดีกับตำแหน่งที่แน่นอน ไม่มีส่วนเกี่ยวข้องกับองค์ประกอบ:hoverเทียมหรือคลาสหลอก
BoltClock

@BoltClock ฉันไม่ได้ใช้การจัดตำแหน่งแบบสัมบูรณ์ แต่ในขณะที่ฉันสามารถเปลี่ยนสีของฉัน: หลังจากเนื้อหาที่ใช้ไวยากรณ์ตัวเลือกด้านบนฉันไม่สามารถเปลี่ยนการตกแต่งข้อความสำหรับสถานะโฮเวอร์ของ: หลังจากองค์ประกอบบนลิงก์ . มิฉะนั้นการตกแต่งข้อความก็ใช้ได้ดี
geoidesic

22

ใน scss

&::after{
content: url(images/RelativeProjectsArr.png);
margin-left:30px;
}

&:hover{
    background-color:$turkiz;
    color:#e5e7ef;

    &::after{
    content: url(images/RelativeProjectsArrHover.png);
    }
}

8
 #alertlist li:hover:after,#alertlist li.selected:after
{
    position:absolute;
    top: 0;
    right:-10px;
    bottom:0;

    border-top: 10px solid transparent;
    border-bottom: 10px solid transparent;
    border-left: 10px solid #303030;
    content: "";
}​

ลิงก์ jsFiddle


li: hover: afte เพิ่มสิ่งนี้ในคลาสเดียวกันกับที่เลือก
Kishore Kumar
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.