Mam nadzieję, że istnieje sposób na to, aby zrobić to bez JavaScript. Mam dwa elementy wyświetlane z wbudowanym blokiem. Oba mają 200 pikseli szerokości i wysokości, więc obie pojawiają się w tej samej linii, chyba że przeglądarka ma niewielkie rozmiary (lub przeglądarki mobilne). Chcę, żeby między tymi elementami było 50px, więc na drugim elemencie dodałem "margin-left: 50px", co działa dobrze. Gdy rozmiar przeglądarki zostanie zmieniony na rozmiar, w którym oba elementy nie mieszczą się w tej samej linii, drugi element zawija się do następnej linii, co jest tym, co chcę zrobić. Problem polega na tym, że drugi element ma nadal lewy margines 50 pikseli, więc elementy nie wydają się wyśrodkowane. Mogłabym dodać JavaScript, aby wykryć, kiedy wysokość kontenera się zmieni (tj. Element zawinięty do następnej linii) i usunąć lewy margines, ale czy jest jakiś sposób, aby to osiągnąć bez JavaScript?Usuwanie marginesów na elementach bloków śródliniowych po zawinięciu wierszy
Oto mój kod, uproszczone:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<body>
<div id="wrapper" style="text-align: center;">
<div id="elem1" style="display: inline-block; background-color: #f00; width: 200px; height: 200px;"></div>
<div id="elem2" style="display: inline-block; background-color: #00f; width: 200px; height: 200px; margin-left: 50px;"></div>
</div>
</body>
</html>
Fiddle: http://jsfiddle.net/YRshx/
Ewentualnie turystyczne http://www.barrelny.com/blog/text-align-justify-and-rwd/ – thefrontender
myślę, że to będzie działać . To całkiem fajna technika. Pozwól, że spróbuję ... – Gavin
Właściwie powinienem zdać sobie sprawę z tego, że to nie zadziała w moim przypadku, ponieważ po owijaniu elementy są wyrównane do lewej, a nie wyśrodkowane.Jednak dzięki temu mogę na pewno korzystać z tej techniki w przyszłości. – Gavin