Nie rozumiem oczekiwanego rezultatu. Czy próbujesz dodać paddingza pomocą content. Wydaje się, że nie można stwierdzić, czy przestrzeń została dodana.
fncomp
2
To dziwne pytanie, należy użyć dopełnienia, aby dodać miejsce, bez zawartości: po , może nie wiesz o różnicy między display: inline i display: block?
Littlemad
Próbuję dodać dopełnienie za pośrednictwem zawartości.
bradley.ayers
2
Odkryłem, że dodanie spacji przy użyciu tej metody było również przydatne, gdy overflow: hiddenelement blokowy odciąłby kilka ostatnich pikseli ostatniego znaku kursywy. Wypełnienie nie pomogłoby w tym przypadku.
Joe Waller
3
Wypełnienie nie pomaga, jeśli chcesz podkreślić swoje miejsce za pomocą text-decoration: underline;jednego z nich.
Zawartość białych znaków, które następnie zostałyby zwinięte zgodnie z właściwością „białych znaków”, nie generuje żadnych anonimowych pól śródliniowych.
Nie używaj spacji niełamliwych (U + 00a0). Mają zapobiegać łamaniu linii między słowami. Nie należy ich traktować jako przestrzeni nierozkładalnej, co nie byłoby semantyczne.
Wygląda na white-spaceto, że nie jest obsługiwany w iE11 ani Edge (patrz caniuse.com/#search=white-space ). czy w związku z tym odpowiedź użytkownika bradley.ayers jest lepsza? (Nie wiem, istnieją inne aspekty, takie jak semantyka lub zachowanie związane z
łamaniem
561
Okazuje się, że należy to określić za pomocą uciekającego Unicode. To pytanie jest powiązane i zawiera odpowiedź.
Nic nie warte, że doda to przestrzeń NIEPRZERWAJĄCĄ. Jeśli chcesz normalnego miejsca, potrzebujesz „\ 0020” zamiast „\ 00A0”.
Offlein
4
Warto też zauważyć, że dodanie normalnej przestrzeni nic nie da. Jeśli nie ma spacji między tekstem w tym i poprzednim elemencie, to go nie doda. Normalna przestrzeń po prostu zapadnie się w siebie.
mheim
2
@Offlein proszę dodać `\ 0020` jako osobną odpowiedź, ponieważ niektóre czcionki, np. Font Awesome nie pozwolą \00A0na wyświetlenie spacji, a jeśli chcesz spacji między elementami zamiast przed lub po nie możesz użyć padding
Mousey
Jak dodać spację po czymś, co jest już w treści?
vsync,
2
@ FrançoisDupont, czy masz zasób opisujący tę zmianę?
isherwood
9
Potrzebowałem tego zamiast używania dopełnienia, ponieważ użyłem kontenerów z blokiem wbudowanym, aby wyświetlić serię pojedynczych zdarzeń na osi czasu przepływu pracy. Ostatnie zdarzenie na osi czasu nie wymagało po nim strzałki.
padding
za pomocącontent
. Wydaje się, że nie można stwierdzić, czy przestrzeń została dodana.overflow: hidden
element blokowy odciąłby kilka ostatnich pikseli ostatniego znaku kursywy. Wypełnienie nie pomogłoby w tym przypadku.text-decoration: underline;
jednego z nich.Odpowiedzi:
Wyjaśnienie
Warto zauważyć, że Twój kod wstawia spację
Jednak jest natychmiast usuwany.
Z anonimowych pól śródliniowych ,
I z modelu przetwarzania „białych znaków” ,
Rozwiązanie
Więc jeśli nie chcesz, aby przestrzeń została usunięta, ustaw
white-space
napre
lubpre-wrap
.Nie używaj spacji niełamliwych (U + 00a0). Mają zapobiegać łamaniu linii między słowami. Nie należy ich traktować jako przestrzeni nierozkładalnej, co nie byłoby semantyczne.
źródło
white-space
to, że nie jest obsługiwany w iE11 ani Edge (patrz caniuse.com/#search=white-space ). czy w związku z tym odpowiedź użytkownika bradley.ayers jest lepsza? (Nie wiem, istnieją inne aspekty, takie jak semantyka lub zachowanie związane zOkazuje się, że należy to określić za pomocą uciekającego Unicode. To pytanie jest powiązane i zawiera odpowiedź.
Rozwiązanie:
źródło
\00A0
na wyświetlenie spacji, a jeśli chcesz spacji między elementami zamiast przed lub po nie możesz użyć paddingPotrzebowałem tego zamiast używania dopełnienia, ponieważ użyłem kontenerów z blokiem wbudowanym, aby wyświetlić serię pojedynczych zdarzeń na osi czasu przepływu pracy. Ostatnie zdarzenie na osi czasu nie wymagało po nim strzałki.
Skończyło się na czymś takim jak:
Użyto fontawesome dla znaku gt (chevron). Z dowolnego powodu „content: none;” powodowało problemy z wyrównaniem ostatniego kafelka.
źródło