Witam, mam taki kod HTML:
<body>
<div style="padding:3cm">
<h3><span class="number">1.2</span>Tytuł rozdziału</h3>
</div>
</body>
Div reprezentuje strone (kartkę), w której zasadniczo tekst ma być 3 cm od brzegu (tak jak definiuje padding). Przestrzeń między brzegiem a tekstem, to margines.
Chciałbym, żeby numer, który jest w spanie znajdował się na marginesie strony, czyli w tym paddingu 3cm. Tekst w h3 za spanem "Tytuł rozdziału" powinien się zaczynać normalnie, czyli 3 cm od brzegu div'a. Rzecz w tym, że w spanie może być tekst różnej długości, albo elementu span może w ogóle nie być. Niezależnie od tego tytuł ma się zawsze zaczynać w tym samym miejscu.
Trochę kombinowałem z text-indent i position:relative, ale nic sensownego mi nie wyszło. Nie podaję przykładów, żeby nie sugerować.
Czy ma ktoś pomysł jak to zrobić w samym CSSie?