2012-01-06 15 views
5

'Css kullanarak etiketin ilk harfinin önüne' gerekli yıldız işareti 'resmi yerleştirmek mümkün mü? Etiketin metni sağa hizalı olduğundan, her etiketin metninin önünde değişen bir uzunluk alanı vardır.Bir etiketin ilk harfinin önüne 'css kullanarak' gerekli yıldız işareti 'görüntüsünü nasıl yerleştirirsiniz?

+1

Bakın: http://nicolasgallagher.com/css-background-image-hacks/ sizi doğru yönde gösterebilir. Aşağıdakileri kullanmanızı öneriyorum: – Aknosis

cevap

12
.foo:before { 
    content : "* "; 
    color : red; 
} 
+0

elemanından önce, içerik için ayarlandığında da çalışan bir yıldız resmi kullanıyorum. – coder

+0

IE 9'da çalışmaz. "Label.required" var: önce {content: '*'} '. IE <8, firefox ve kromda çalışır. Bu konuda çalışmak için herhangi bir öneri – user525146

3

Bazı CSS'lerle mümkündür, ancak IE ile çalışmaz. Öncelikle, madde işaretli bir liste oluşturmanız gerekir.

Sonraki liste maddelik-mermiyi gizlemek:

ul > li { 
    list-style-type:none; 
    list-style-position:inside; 
} 

sonra liste öğesi önünde yeni bir sembol ekleyin:

ul > li:before { 
    content:"* "; 
} 
0

Sadece padding kullanın.

<label for="required"><span>Required</span></label> 
<input type="text" name="required" id="required" /> 

CSS:

label { 
    text-align: right; 
    width: 200px; 
    vertical-align: middle; 
    display: inline-block; } 
label span { 
    background: url(http://placehold.it/5x5) 0 0 no-repeat; 
    padding: 0 0 0 6px; 
    vertical-align: middle; 
    display: inline-block; } 
input { 
    vertical-align: middle; 
    display: inline-block; } 

Önizleme: içerik değiştirmeden, CSS kullanarak bir görüntü yerleştirmek isterseniz http://jsfiddle.net/Wexcode/j475V/1/

+0

Aşağıdan kandırana, yanlış okuduğumu ve * sağa * ve sola * demediğini düşündüm. Cevabımı güncelledim. – Wex

2

, o zaman bir arka plan görüntüsü kullanmak gerekir, örneğin

label { 
    padding-left: 12px; 
    background: url(asterisk.png) no-repeat; 
} 

Bu bir erişilebilirlik sorunu ima: Bir arka plan görüntüsüne bir metinsel alternatif belirtmek için bir yolu yoktur çünkü Nonvisual tarama kullanan insanlar, requiredness hakkında bilgi alamayacak. Gerekli alanlar ile ilgilidir ancak böyle etiketlere etkisini sınırlamak için Öte yandan

, sen, label.required söylemek bir sınıf seçici kullanmak gerekir ve ilgili label elemanlarına bir class özniteliği eklersiniz. Daha sonra, ilgili label öğelerinden önce gerçek bir görüntü ekleyerek, içeriği CSS'ye başvurmadan değiştirebileceğinizi varsayalım.

<img src=asterisk.png alt="Required "><label ... 
İlgili konular