2011-02-09 13 views
17

Nie jestem pewien, czy to jest nawet możliwe, ale mam przypadek, w którym chciałbym pogrubić część (nie wszystkie) tekstu w ramach opcji HTML wybierz etykietka.Częściowo pogrubiony tekst w HTML wybierz

Próbowałem używać tagów b, a także silnych tagów, bez powodzenia (w Chrome). CSS może działać, ale ponieważ działa na poziomie elementu, nie jestem pewien, jak to zrobić w ten sposób.

Czy jest jakiś sposób to zrobić?

+2

pseudo-elementów ': first-letter' i': first-line' może dać ci kontrolę nad tym, ale to prawdopodobnie nie tak dokładnie, jak byś chciał. –

Odpowiedz

20

NO; to nie jest możliwe.

Zamiast tego można utworzyć fałszywą listę rozwijaną przy użyciu Javascript.

+0

Miałem przeczucie, że to może być odpowiedź. Dzięki! – Ben

+0

Właściwie, czy istnieje inne, łatwiejsze rozwiązanie, spójrz na odpowiedź Pritesha. – Rodrigo

-1

Spróbuj owinąć tekst z <span id="wrap">Some text</span> w css zrobić #wrap {font-weight: bold}

+0

Już miałem powiedzieć to samo. Właśnie to przetestowałem, nie działa. –

+1

Nie można umieszczać znaczników w elementach '

+0

Możesz spróbować dodać styl do samego elementu opcji, ale wątpię, że to pomoże. :) – GolezTrol

3

Nie, nie jest to możliwe. Masz dwie opcje:

1) Użyj <optgroup>, aby utworzyć opisowy nagłówek dla tego, co robisz (jest mało prawdopodobne, że to pomoże).

2) Symuluj rozwijane menu za pomocą JavaScript. Nie jestem pewien, ale myślę, że jQuery UI może mieć rozwijany skrypt menu.

-1

Cóż, można użyć <strong> lub <b> w firefox, ale to nie będzie działać w Chrome lub w IE (nie sprawdziliśmy basen jakakolwiek inna)

+0

Nawet MDN nie sugeruje, że: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/option - Powinieneś podać referencje i nazwać tę funkcję. Jeśli nie istnieje, jest to dość kruche. – hakre

4

myślę, że zbyt późno, ale to, co pracował dla mnie. Zastosuj właściwość "grubość czcionki: pogrubienie" do znacznika opcji, aby tekst pogrubiał bez użycia znaczników html.

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

To działało dla mnie w Firefoksie. Wydaje mi się, że to nadal jest dość specyficzne dla przeglądarki. – Darren

10

ponieważ chrome nie pozwala pogrubioną czcionką na znaczniku opcji. możesz użyć właściwości text-shadow, takiej jak

text-shadow: 0px 0px 0px black;

to daje taki sam wygląd pogrubione i działać na wszystkich przeglądarkach

+0

Dlaczego jest tak mało głosujących? Rozwiązał mój problem. Wygląda na to, że "ludzie wciąż się spieszą". – Rodrigo

+0

Możesz także użyć 'text-shadow: 1px 1px black;' – Rodrigo

+1

Jest to przypuszczalnie niski głosowanie, ponieważ jest błędne - (a) nie pogrubia tylko części tekstu, jak żądał OP, oraz (b) tylko "kolor", jak sądzę, jest w różnych przeglądarkach. – EML

1

Bold N-ty z opcji w select.

Nie ma sposobu, aby to zrobić w css. Jeśli wymagane jest rozróżnienie między opcjami, użyj koloru i tła.

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

Proste rozwiązanie:

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

Przykład: https://jsfiddle.net/hnzhbz69/

Powiązane problemy