Mam kilka wyświetlanych DIV jako bloków śródliniowych; i wydaje się, że odstępy między aplikacjami są automatycznie pobierane z przeglądarki. Mają margines/dopełnienie ustawione na 0. Czy istnieje sposób na poprawienie tego bez stosowania ujemnych marginesów?Inline-Block bez marginesów?
Odpowiedz
Sam, ta przestrzeń, którą widzisz, to w rzeczywistości spacja. Dlatego usunięcie paddings i marginesów nic nie robi. Pozwól mi wyjaśnić. Kiedy masz to:
HTML
<div>
a
a
a
a
</div>
to jak to renderowane:
a a a a
... prawda?
Tak więc, jeśli masz to:
<div>
<div style="display:inline-block"></div>
<div style="display:inline-block"></div>
<div style="display:inline-block"></div>
</div>
... dostaniesz to samo:
block [space] block [space] block
... Teraz istnieje wiele różnych rozwiązań tego problemu. Wierzę, najczęstszym jest zakomentowałeś spacje w HTML:
<div>
<div style="display:inline-block"></div><!--
--><div style="display:inline-block"></div><!--
--><div style="display:inline-block"></div>
</div>
nie lubię go chociaż - Wolę utrzymywanie html tak czysty, jak to możliwe. Moim preferowanym sposobem jest ustawienie rozmiaru czcionki rodzica na 0, a następnie przywrócenie żądanego rozmiaru czcionki na blokach wbudowanych.Tak:
div {
font-size: 0; /* removes the whitespace */
}
div div {
display: inline-block;
font-size: 14px;
}
Nie trzeba używać ujemnych marginesów, aby zrównoważyć pierwotne marginesy.
Zamiast można zastąpić je z następujących czynności:
* { margin:0; }
czyli
.div { margin:0; }
jeśli jest elementem specyficzny.
EDIT:
Wydaje się, że problem może być wynikiem niezamierzonego spacji. Na przykład:
<div style="display:inline-block">
...
</div>
<div style="display:inline-block">
...
</div>
Pomiędzy dwoma przekładkami istnieje biały odstęp, a przeglądarka wydrukuje białą przestrzeń jako wynik. Aby rozwiązać ten problem, musisz go zmienić na:
<div style="display:inline-block">
...
</div><div style="display:inline-block">
...
</div>
Ciesz się i powodzenia!
co robi? – Sam
* jest znakiem wieloznacznym w CSS, który reprezentuje wszystkie elementy w danym dokumencie. –
To nie rozwiązuje problemu z moim marginesem. Być może "marże" są złym terminem. Mam kilka div obok siebie, a przeglądarka domyślnie odstępuje między nimi; mimo że są ustawione na 0 i wypełnienie 0. – Sam
inline-block jest pierwotnie IE6 włamać
To właśnie jego zastosowania:
- Aby rozwiązać ten IE6 dwukrotnie marginesu błędu na płynęły elementów
- Do umieść wiele elementów podobnych do bloku na tej samej linii poziomej, bez konieczności ich unoszenia (jeśli nie możesz unieść "wyjątkowych przypadków")
- Aby zezwolić na umieszczanie elementów w linii t mieć szerokość i/lub wysokość jednocześnie pozostały inline
- Aby umożliwić element inline mieć wyściółkę lub marginesy
Więc jeśli chcesz mieć wiele DIV obok siebie nawzajem należy użyć pacy, jego zamiar rozwiązać wiele twoje problemy CSS inline-block może spowodować, zwłaszcza krzyż przeglądarka wysyła
Więcej o inline-block here arcticle 9.2.4
pozdrawiam SP
proszę komentować, jeśli nie zgadzają się
Blok inline nie jest hackerem, pozwala elementom przepływać tak, jakby były częścią tekstu. Twoja rada dotycząca używania pływaka jest zła. Niepotrzebne korzystanie z funkcji float powoduje problemy z obsługą, co prawdopodobnie oznacza, że Twoja witryna nie reaguje na różne rozmiary ekranu/okien i jest kiepska. – Jake
Inline-block ma pewne problemy, więc jego luźne luźne i zgadzam się, że float nie jest idealnym rozwiązaniem, ale nie masz wbudowanego bloku w IE6, więc to dlatego wybrałbym float jako awarię. –
Innym sposobem znalazłem metodę zmiany word-spacing na kontenerze nadrzędnym pracuje dla mnie https://jsfiddle.net/1ex5gpo3/2/
.parent {
word-spacing: -1em;
}
.child {
word-spacing: normal;
display: inline-block;
}
Można używać zarówno display: inline-block
i float: left
usunąć tę przestrzeń.
Tutaj idzie plunkr: https://plnkr.co/edit/Sn3NG77asiXO8UrrpxWD?p=preview
- 1. MonoTouch.Dialog UITableView bez marginesów
- 2. Dodaj niestandardowy układ do ActionBar/Toolbar bez marginesów.
- 3. Jak drukować wiele slajdów na stronie A4 bez marginesów strony?
- 4. Jak mogę narysować ciąg znaków bez marginesów w widoku?
- 5. Dodawanie marginesów w JTextArea?
- 6. Zwijanie marginesów w układach Androida
- 7. Usuwanie marginesów w wyskakującym okienku przeglądarki Chrome
- 8. Ustawianie marginesów dla EditText w AlertDialog
- 9. Usuwanie marginesów osi na wykresie 3D
- 10. Używanie marginesów zakresu do wyrównania tekstu
- 11. dodać sumy wierszy marginesów w łańcuchu DFFF
- 12. XCode 6.3 dodawanie marginesów do tableviewcell
- 13. czasownik/tekst lstinline wypływa z marginesów linii bez podziału wiersza w Latex
- 14. Usuwanie marginesów na elementach bloków śródliniowych po zawinięciu wierszy
- 15. Java Swing - ustawianie marginesów na stronie TextArea z obramowaniem linii
- 16. Jak zignorować wstawiane bloki marginesów z różnymi wysokościami?
- 17. Jak używać marginesów i wypustek z Java GridLayout
- 18. CSS tabela - dodać kolumny marginesów a row border-bottom
- 19. Jak obliczyć szerokość i wysokość elementu z ich wartościami wypełnienia/marginesów za pomocą mniejszego kodu?
- 20. aby płyty z tych samych marginesów podczas łączenia ggplot i zasadowe grafiki
- 21. Uzyskiwanie wysokości widoku w oparciu o ograniczenia marginesów po uruchomieniu Swift
- 22. dlaczego nowoczesnych przeglądarek nadal stawiać spacji między blokiem inline jeśli istnieje spacje
- 23. Jak dodać dopełnienie do obszaru tekstowego bez powodowania zwiększenia szerokości?
- 24. Wyściółka Android ListView dla zawartości bez przenoszenia wysokości ListView?
- 25. Uruchamianie PHP bez rozszerzenia bez użycia mod_rewrite?
- 26. Okno bez obramowania. Jak dodać cień i usunąć obramowanie 1px?
- 27. Zainstaluj aplikację na iOS bezpośrednio ze strony internetowej - bez hasła, bez iTunes, bez UDID
- 28. AppCode + swift - bez uzupełniania kodu i bez szybkiej dokumentacji
- 29. Używanie git z diffmerge bez podpowiedzi i bez aliasu
- 30. Czy można serializować obiekty bez konstruktora bez parametrów w WCF?
+1 - oba są dobrymi rozwiązaniami. – Wex