Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> :after i spacja
czachor
post
Post #1





Grupa: Zarejestrowani
Postów: 897
Pomógł: 40
Dołączył: 16.12.2003
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Witam!
Mam taki (uproszczony) kod:
  1. #content br:after
  2. {
  3. content : " ";
  4. }
  5. </head>
  6.  
  7. <div id="content">
  8. Jakiś txt<br />
  9. który ciągnie się<br />
  10. przez kilka linii<br />
  11. i jest oddzielany tagiem BR
  12. </div>
  13.  
  14. </body>
  15. </html>

O co chodzi... chcę za pomocą CSS'a (php z pewnych względów tutaj odpada) po tagu <br /> w obrębie <div id="content"> wstawić spację (&nbsp;) albo <div style="width: 10px; display: inline" />, względnie cokolwiek, co zrobi mi jakiś odstęp. Przełamywanie linii jest tworzone automatycznie (nl2br() w php), text (czysty, bez żadnego HTML'a!) jt wyciągany z bazy. Problem leży w tym, że wynikiem tego kodu powyżej jest:
Kod
Jakiś txt
&nbsp;który ciągnie itd........

=> czyli spacja (&nbsp;) nie jest zamieniana na " "... Tak samo traktowane są tagi... Przykład z DIV'em zwróci:
Kod
Jakiś txt
<div style="width: 10px" />który ciągnie itd........

Ma ktoś jakieś sugestie? Próbowałem z encjami, unicodem, nawet content: " ", kombinowałem z wartością attr(X) i lipa...
Z góry dzięki za wszelką pomoc!

Ten post edytował czachor 30.11.2004, 00:10:38
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
wassago
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 701
Pomógł: 0
Dołączył: 26.06.2002
Skąd: Londyn

Ostrzeżenie: (0%)
-----


z tego co mi wiadomo to nie da rady.. sam probowalem kombinowac ze spacjami ale nic nie wychodzilo - w specyfikacji masz kilka przykladow, co mozna wstawiac jako wartosc content'u.
Go to the top of the page
+Quote Post
czachor
post
Post #3





Grupa: Zarejestrowani
Postów: 897
Pomógł: 40
Dołączył: 16.12.2003
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Heh... wszystko na to wskazuje... Przesiedziałem pół nocy googlach nad tym problemem i nic nie znalazłem...
Dzięki @wassago, a jeżeli ktoś coś wymyśli (na obejście tego?), czekam (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

--UPDATE--
Hmmm.... W geście rozpaczy zacząłem tworzyć. Wstawiłem do styli coś takiego:
Kod
#content br:after
{
content : "\7";
}
i pojawia mi się odstęp (wielkość zależna od wstawionej liczby)! Nie wiem, czy to jest Valid, ale działa... ...w Mozilli, oczywiście IE ma wszystko gdzieś.

PS. Problem oczywiście cały czas otwarty, bo to chyba nie jest poprawne...

Ten post edytował czachor 30.11.2004, 11:25:00
Go to the top of the page
+Quote Post
wassago
post
Post #4





Grupa: Przyjaciele php.pl
Postów: 701
Pomógł: 0
Dołączył: 26.06.2002
Skąd: Londyn

Ostrzeżenie: (0%)
-----


sporoboj
Kod
\26B
lub
Kod
\000026B
, albo to i to razem.

EDIT:

ps. ale chyba wiesz, ze IE nie obsluguje pseudoklasy :after (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) a juz nie wspominajac o takich egzotycznych rzeczach jak 'content' lub 'attr()' ..
Go to the top of the page
+Quote Post
czachor
post
Post #5





Grupa: Zarejestrowani
Postów: 897
Pomógł: 40
Dołączył: 16.12.2003
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Nom doczytałem już o IE... Ciągle nie wiem, czego to "coś" ma taką popularność (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Próbowałem z tym, co podałeś, poczytałem też to: http://www.georgehernandez.com/xWebs/CSS/zMisc.htm i to: http://www.w3.org/TR/REC-CSS2/syndata.html#q4 ale Mozilla zwraca nie spację, tylko "&B" w obu przypadkach...

--UPDATE--

No i mam... Dla wszystkich zainteresowanych:
Kod
#content br:after
{
content : "\0000A0"; /*spacja*/
}

i przydatny link: http://www.saila.com/usage/tips/examples/s...characters.html (wpisać żądany znak, wynikiem będzie odpowiedni ciąg, który trzeba wstawić w CSS).
Pod IE nie działa, odpowiedź "jedyna i słuszna".
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 14:47