Można użyć pseudohalogenek elementy z dobrym skutkiem tutaj :before
i :after
:
http://jsfiddle.net/yNnv4/1/
to będzie działać w ogóle nowoczesne przeglądarki i IE8 +. Jeśli wymagane jest wsparcie IE7, to odpowiedź nie jest dla ciebie :)
#container {
counter-reset: nums;
}
p {
position: relative;
margin: 21px 0;
}
p:before {
content: '\2022 \2022';
font-size: 2em;
position: absolute;
top: -8px;
left: 0;
line-height: 1px;
color: #888;
width: 100%;
text-align: center
}
p:after {
content: counter(nums);
counter-increment: nums;
font-size: 1.5em;
position: absolute;
top: -8px;
right: 0;
line-height: 1px;
color: #888;
font-family: sans-serif
}
o właściwościach counter
:
Nie można (automatycznie) zwiększać liczby pocisków.
Jednak można to zrobić z jakiejś wątpliwej powtarzalności:
http://jsfiddle.net/N4txk/1/
p:before { content: '\2022' }
p+p:before { content: '\2022 \2022' }
p+p+p:before { content: '\2022 \2022 \2022' }
/* .... */
(alternatywnie :nth-child
mogą być powtarzane w ten sam sposób: http://jsfiddle.net/N4txk/ - ale to nie będzie działać w IE8 ; będą tylko dwa pociski)
Istnieje górny limit liczby pocisków, który byłby rozsądny mieć, więc myślę, że byłoby dopuszczalne, aby skopiować i wkleić to tyle razy, ile potrzeba.
Szukasz rozwiązania czysto-html/css? – Sampson
@ Jonathan Absolutnie. CSS3, jeśli to jest potrzebne. Chcę się uczyć. Ten problem zawsze mnie irytował. –
Myślę, że można to łatwo osiągnąć za pomocą JavaScript, więc pomyślałem, że zapytam nieco więcej o twoje oczekiwane rozwiązanie. – Sampson