:before
ve :after
sözde öğelerin kullanıldığı bir ekran oluşturmaya çalışıyordum, ancak böyle bir işlevin gerçekten mümkün olup olmadığını merak ediyorum.Bir sözde öğenin üzerine geldiğinde, diğer sözde öğeyi görünmesini sağlayın.
Bir girdinin etrafına sarılmış bir sarmalayıcı divum var (bu sarıcıda pseudo element
s için izin veriyor). gibi
şey:
+-----------------------------------+
| +-------------------------------+ |
| | | | <-- wrapper div
| +-------------------------------+ <-- input element
+-----------------------------------+
Ancak, ben div sonra konumlandırılan bir sözde elemanı olması arıyordu.
+-----------------------------------++-------+
| +-------------------------------+ | |¯¯¯| |
| | | | / |
| +-------------------------------+ | ! |<--pseudo element
+-----------------------------------++-------+
Bu sahte öğenin üzerine gelebilmek ve diğer sözde öğenin görünmesini istiyorum.
.wrap {
position: relative;
height: 30px;
width: 200px;
display: inline-block;
}
.wrap input {
position: absolute;
top: 0;
left: 0;
height: 100%;
width: 100%;
}
.wrap:after {
content: "?";
position: absolute;
top: 0;
left: 100%;
height: 30px;
width: 30px;
font-size: 30px;
text-align: center;
}
.wrap:before {
content: "";
position: absolute;
top: 100%;
left: 0;
height: 60px;
width: 100%;
background: tomato;
opacity:0.2;
}
<div class="wrap">
<input placeholder="input element" type="text" />
</div>
, ben sadece :after
eleman getirdiğinizde :before
eleman olan donukluk değiştirmek yapmanın bir yolu yoktur, ve wrap
div kendisi (not : html değiştirilemez, bu nedenle neden bu soru)?
ben gibi bir şey kullanarak çalıştı: 90%
girdi genişliğini değiştirdikten sonra
.wrap:not(input):hover:before{
ama bu sana ne sordu tam olarak değil biliyorum Fark
Sözde-elemanların basit seçiciler olarak sayılabilmesi için ilginç bir durumdur, böylece biri .wrap gibi bir şey yapabilirdi:: (:: after: hover) :: before'. Ama alas ... – BoltClock
@BoltClock ':: after: hover' seçiciler 4. seviyesinde geçerli mi? Doğru hatırlamıyorsam, sözde-elemanlar sözde sınıflara sahip olamaz ... –
@Hashem Qolami: Seviye 4'tür. Bu hem sözde-elemente hem de sözde-sınıfa bağlıdır - bazı kombinasyonlar diğerleri değilken mümkündür."Sözde elemanlar özelliksizdir ve başka herhangi bir seçici tarafından eşleştirilemez" yazan http://dev.w3.org/csswg/selectors-4/#pseudo-elements adresine bakın. Ayrıca, yorumu etkilemezler. yapısal olmayan sözde-sınıfların, sadece gerçek öğelere dayalı olarak değerlendirilir.Diğer sözde sınıflar * aksi belirtilmedikçe sözde-elemanlarla eşleşebilir. – BoltClock