![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 60 Pomógł: 0 Dołączył: 19.07.2010 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Mój problem wydaje się dość banalny. Cały czas było wszystko ok ale ostatnio coś się popsuło. Chodzi o znacznik html <p>, który ma styl css: margin: 15px 0; Czemu nie mam dwóch pustych linijek i automatycznie większego odstępu pomiędzy tekst1 i tekst2? Styl CSS jest dobrze zastosowany, sprawdzałem w Firebugu. Wcześniej dobrze działało, teraz jest to ignorowane i muszę dawać nam białą spację. Wiem, że można inaczej zrobić te odstępy, na przeróżne sposoby ale mi chodzi konkretnie o ten przykład ![]() Proszę o pomoc. Pozdrawiam. Ten post edytował MarcinUser 7.02.2012, 22:32:02 |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 2 355 Pomógł: 533 Dołączył: 15.01.2010 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
Abstrahując od tego, że tak nie powinno się robić.
To musisz pokazać kod online, normalnie powinno zadziałać. |
|
|
![]()
Post
#3
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 605 Pomógł: 96 Dołączył: 22.10.2004 Skąd: UK Ostrzeżenie: (0%) ![]() ![]() |
To zależy od wielu czynników, przede wszystkim od przeglądarek, które różnie mogą interpretować tag <p> i od styli, które aktualnie posiadasz, może masz styl inline na tym tagach.
Spróbuj dać na p display: block; może pomoże. Pamiętaj też, że jak chcesz sobie zrobić odstęp to tego typu rozwiązanie z pustymi tagami nie jest dobre, i jak dobrze pamiętam przez validator w3c wypluje errora hm.
Powód edycji: [strife]: Dopisanie mądrej myśli :)
-------------------- Najczęstsze błędy | Jak poprawnie zadać pytanie? | Serwer PHP - od czego zacząć?
SQL Injection | Hashowanie haseł | Jak działają sesje, przykłady ___ The world is yours ... |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 1 568 Pomógł: 192 Dołączył: 7.03.2005 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
<p> = paragraph
Czyli jest to nowy akapit, formatowanie tekstu <br/> nowa linia <p> nowy akapit i tak należy sie stosować. W szczególności jeżeli używasz tinymce -------------------- |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 778 Pomógł: 84 Dołączył: 29.07.2010 Skąd: Gliwice / Pławniowice Mistrz niezmordowanej klawiatury. Ostrzeżenie: (20%) ![]() ![]() |
-------------------- LS Easter egg < |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 292 Pomógł: 89 Dołączył: 27.12.2006 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
To jest normalne zachowanie i nieważne czy otwierasz to pod IE czy pod najnowszym Firefoxem - uzyskasz taki sam efekt.
Ponieważ <p> jest elementem blokowym, rozpycha się na szerokość, ale nie na wysokość, a ty nie nadajesz stylami żadnej wysokości, dlatego te elementy, które nie zawierają tekstu mają wysokość 0 i ich marginesy łączą się w jeden (to jest tzw. zapadanie się marginesów, czyli margin collapsing). Nadaj któremuś z pustych <p> jakąś wysokość, nawet 1px to zobaczysz, że wtedy odstęp między "tekst1" i "tekst2" powiększy się i to o więcej niż o 1px (o 16px dokładnie ![]() Jeśli chcesz koniecznie robić odstępy pomiędzy paragrafami za pomocą pustych <p></p>zamień margin na padding, wtedy każdy pusty <p> będzie miał wysokość 30px. No a najlepiej po prostu odpowiednio ostyluj te <p></p> w których jest tekst a te puste wywal ![]() Cytat Pamiętaj też, że jak chcesz sobie zrobić odstęp to tego typu rozwiązanie z pustymi tagami nie jest dobre, i jak dobrze pamiętam przez validator w3c wypluje errora hm. A dlaczego miałby wypluć błąd? ![]() ![]() -------------------- Zend Certified Engineer | Microsoft Certified Professional: Programming in HTML5 with JavaScript & CSS3 | Blog
|
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Cytat A dlaczego miałby wypluć błąd? Walidator zobaczy 4 elementy blokowe jeden pod drugim, nic więcej - na pewno się do tego nie przyczepi Co prawda specyfikacja nie stwierdza, że P nie może być pusty, jednak daje jasno do zrozumienia, że nie powinno się czegoś takiego stosować. Zresztą takie coś jak pusty akapit nie ma żadnego sensu semantycznego więc już z definicji HTML-a jest niepoprawne.
|
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 292 Pomógł: 89 Dołączył: 27.12.2006 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Wiem, że w3c odradza używanie pustych akapitów, ale ja napisałem, że do pustego <p></p> walidator się nie przyczepi - i nie przyczepi się, błędu, a nawet ostrzeżenia nie pokaże
![]() Natomiast czy ma to sens czy nie? Raczej nie ma, a już na pewno nie w przypadku powyżej, ale na upartego można załadować treść pochodzącą z AJAX-a właśnie do pustego akapitu więc myślę, że wtedy jego użycie jest (przynajmniej częściowo) uzasadnione. -------------------- Zend Certified Engineer | Microsoft Certified Professional: Programming in HTML5 with JavaScript & CSS3 | Blog
|
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
@vonski: Walidator na stronie W3C jest raczej słabym narzędziem, który nie wyłapuje wielu błędów / niezgodności. To tak tylko na marginesie.
![]() |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 1.05.2025 - 04:35 |