Żaden z poniższych kodów nie działa:
p:before { content: " "; }
p:before { content: " "; }
Jak dodać spację przed zawartością elementu?
Uwaga: muszę pokolorować obramowanie po lewej stronie i margines po lewej stronie do celów semantycznych i użyć spacji jako bezbarwnego marginesu. :)
css
unicode
space
css-content
Hugolpz
źródło
źródło
element:before { content:"[a kind of space]"; background: mycolor;}
. Na wszystkie sposoby chciałem wiedzieć, jak dodawać spacje, trochę fajnie!p:first-letter { border-left: 1ex solid mycolor; }
.Odpowiedzi:
Możesz użyć unikodu nierozdzielającej spacji:
Zobacz demo JSfiddle
[styl ulepszony przez @Jason Sperske]
źródło
"\00a0 "
? Czy to konieczne, czy możemy po prostu zrobić"\00a0"
?Nie pierdź, wstawiając spacje. Po pierwsze, starsze wersje IE nie będą wiedzieć, o czym mówisz. Poza tym ogólnie istnieją czystsze sposoby.
W przypadku wcięć bezbarwnych użyj
text-indent
właściwości.Demo JSFiddle
Edytować:
Jeśli chcesz, aby przestrzeń była pokolorowana, możesz rozważyć dodanie grubej lewej krawędzi do pierwszej litery. (Prawie - ale nie - powiedziałbym „zamiast tego”, ponieważ wcięcie może stanowić problem, jeśli używasz obu. Ale to dla mnie nieprzyjemne, gdybym polegał wyłącznie na granicy wcięcia.) Możesz określić, jak daleko i jak szeroki jest kolor przy użyciu lewego marginesu / dopełnienia / szerokości obramowania pierwszej litery.
Próbny
źródło
{ text-indent: 1em; }
. Ale możemy pokolorować taką przestrzeń:before {content: "\00a0 "; background: #000; }
. Zobacz FiddlePonieważ chcesz dodać odstępy między elementami, możesz potrzebować czegoś tak prostego, jak margines lewy lub dopełnienie lewy. Oto przykłady zarówno http://jsfiddle.net/BGHqn/3/
Spowoduje to dodanie 10 pikseli po lewej stronie elementu akapitu
lub jeśli chcesz po prostu dopełnić element akapitu
źródło
źródło