2011-02-09 22 views
17

Non sono sicuro se questo è possibile, ma ho un caso in cui mi piacerebbe grassetto parte (non tutto) del testo all'interno di un'opzione di una selezione HTML etichetta.Testo in grassetto parziale in un codice HTML selezionare

Ho provato a utilizzare tag b, così come tag forti, senza fortuna (su Chrome). Il CSS potrebbe funzionare, ma dal momento che funziona a livello di elemento, non sono sicuro di come procedere in questo modo.

C'è un modo per farlo?

+2

Gli pseudo-elementi ': prima letter' e': first-Line' può dare qualche controllo di questa, ma è probabilmente non tanto il fine-tuning come vorresti. –

risposta

20

No; non è possibile.

Invece, è possibile creare un elenco a discesa falso utilizzando Javascript.

+0

Ho avuto la sensazione che questa potrebbe essere la risposta. Grazie! – Ben

+0

In realtà, c'è un'altra soluzione più semplice, guarda la risposta di Pritesh. – Rodrigo

-1

Cercate di avvolgere il testo con <span id="wrap">Some text</span> in css fare questo #wrap {font-weight: bold}

+0

Stavo per dire la stessa cosa. L'ho appena provato, non funziona. –

+1

Non è possibile inserire tag negli elementi ''

+0

Si potrebbe provare ad aggiungere uno stile all'elemento opzione stesso, ma dubito che ciò possa essere d'aiuto. :) – GolezTrol

3

No, questo non è possibile. Sono disponibili due opzioni:

1) Utilizzare <optgroup> per creare un'intestazione descrittiva per ciò che si sta facendo (improbabile che ciò possa essere d'aiuto).

2) Simulare un menu a discesa utilizzando JavaScript. Non ne sono sicuro, ma penso che l'interfaccia utente di jQuery potrebbe avere uno script di menu a discesa.

-1

Beh, è ​​possibile utilizzare il <strong> o <b> in Firefox, ma non funziona in Chrome o in IE (non cheked qualsiasi altro)

+0

Neanche MDN suggerisce che: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/option - È necessario fornire riferimento e denominare tale funzionalità. Se nessuno esiste, questo è piuttosto fragile. – hakre

4

Penso che sia troppo tardi, ma questa cosa ha funzionato per me. Applica la proprietà "font-weight: bolder" al tag dell'opzione per rendere il testo al suo interno in grassetto senza utilizzare alcun tag html.

<option value="optionValue" class="bold-option"> 
.bold-option{font-weight: bolder;} 
+0

Questo ha funzionato per me in Firefox. Penso che sia comunque abbastanza specifico per il browser. – Darren

10

poiché chrome non consente il carattere grassetto sul tag opzione. puoi utilizzare la proprietà text-shadow come

text-shadow: 0px 0px 0px nero;

darà stesso aspetto del grassetto e lavorare su tutti i browser

+0

Perché questo voto è così basso? Ha risolto il mio problema. Sembra che "la gente continui di fretta oggi". – Rodrigo

+0

Puoi anche usare 'text-shadow: 1px 1px black;' – Rodrigo

+1

È presumibilmente a bassa votazione perché è sbagliato - (a) non mette in grassetto solo una parte del testo, come richiesto dall'OP, e (b) solo "colore", penso, è cross-browser. – EML

1

Bold un'opzione ennesima a selezionare.

Non c'è modo di farlo in css. Se è ancora necessaria una differenziazione tra le opzioni, usa il colore e lo sfondo.

.diff-option { 
    color : grey; 
} 
.other-options{ 
    color:white 
    background: ... 
} 
2

Soluzione semplice:

<select> 
    <option>Simple</option> 
    <option class='bolden'>Bold</option> 
    <option>Simple</option> 
</select> 
<style> 
    .bolden{font-family:"Arial Black"} 
</style> 

Esempio: https://jsfiddle.net/hnzhbz69/

Problemi correlati