2014-11-14 10 views
11

W mojej aplikacji AngualrJS używamy etykiet narzędziowych typu "angle-ui-bootstrap".W jaki sposób ustawić tylko jedną określoną etykietkę z opcją "kąt-ui-bootstrap", aby była szersza?

Mam jedną etykietkę narzędzi, która musi pomieścić długi tekst. Odpowiedź na pytanie Displaying long text in Bootstrap tooltip SO pokazuje mi jak zrobić podpowiedzi iść szerszy ...

... ale co jeśli nie chcę, aby wszystkie podpowiedzi szerszy, tylko jeden konkretny podpowiedź?

(Uwaga: angularjs 1.2.24, jQuery dostępne ... ale wolałbym po prostu być w stanie zastosować styl do tej jednej podpowiedzi niż uzyskać bardziej skomplikowane)

+1

Dlaczego nie zaakceptuje własna odpowiedź? – Sampath

+1

@Sampath ha, dzięki, brakowało, że:) – Daryn

Odpowiedz

10

Jeśli natomiast masz tooltip-append-to-body="true", można użyć następującego zmodyfikowaną wersję @ kodu Daryn za

CSS

.tooltip-400max .tooltip-inner { 
    max-width: 400px; 
} 

HTML

<div id="element1" 
    tooltip-append-to-body="true" 
    tooltip-class="tooltip-400max" 
    tooltip="{{ model.longTooltip }}">Text</div> 
<div>More page content</div> 
+1

To jest teraz lepsza odpowiedź niż mój oryginał, ze względu na wprowadzenie 'klasy tooltip'u dostępnej w angular-ui v0.13.0 w lecie 2015 – Daryn

+2

Działa to również dla' popover'; po prostu użyj 'popover-class'. – theblang

10

Dopóki ty nie „t mieć tooltip-append-to-body="true", można użyć następującego CSS (w tym przykładzie, dzięki czemu etykietka Maksymalna szerokość 400px):

CSS

.tooltip-400max + .tooltip .tooltip-inner { 
    max-width: 400px; 
} 

HTML

<div id="element1" 
    class="tooltip-400max" 
    tooltip="{{ model.longTooltip }}">Text</div> 
<div>More page content</div> 

Kluczem w CSS powyżej jest selektor sąsiedztwie rodzeństwo, +.

To dlatego, jak zapewne wiesz, po najechaniu element1, tooltip dodaje się jako div poelement1, w przybliżeniu tak:

<div id="element1" 
    class="tooltip-400max" 
    tooltip="{{ model.longTooltip }}">Text</div> 
<div class="tooltip fade in" and other stuff>...</div> 
<div>More page content</div> 

Zatem selektor CSS .tooltip-400max + .tooltip wybierze tylko tę wstawioną etykietkę, która jest sąsiednim sibilingiem. Styl stylizacji maks. Szerokości potomka .tooltip-inner nie wpłynie na wszystkie etykiety narzędzi, a jedynie podpowiedzi dla elementów o klasie tooltip-400max.

+0

nie działa dla mnie. wszystkie inne właściwości oprócz szerokości działają jednak ??? –

+3

@das jaką właściwość dostosowałeś, 'width' lub' max-width'? BTW Aby debugować twoją stylizację, chciałbym tymczasowo dodać 'tooltip-trigger =" click "' 'do elementu, aby etykieta była widoczna, pozwalając mi wypróbować różne style w narzędziach dewelopera przeglądarki. – Daryn

+0

Inną szybką opcją debugowania jest kliknięcie prawym przyciskiem myszy na etykiecie narzędzia, a następnie kliknięcie na konsolę programisty (mimo to działa w Chrome). – nardnob

Powiązane problemy