Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [CSS, XHTML] Kłopoty z CSS w Operze i Netscape
Forum PHP.pl > Forum > Po stronie przeglądarki > CSS
*_ENIGMA
Witajcie!

Tworzę stronę w XHTML. Według walidatora na W3C nie mam ani jednego błędu zarówno w kodzie XHTML (XHTML 1.0 VALID) oraz w kodzie CSS (CSS VALID)...

W Inernet Explorerze 6 wszystko wyświetla poprawnie (jak większość rzeczy nawet tych zawierających błędy snitch.gif )...
Dokładnie chodzi mi o:

1. Wyrównanie zawartości komórki tabeli przy pomocy 'text-align: center'...
Gdy włączam stronę w Netscape 7 wszystkie komórki tabeli mam wyrównane do lewej, a nie wyśrodkowane (jak to zdefiniowałem). Przykładowy kod dla jednej z komórek jest następujący:

Kod
#menu_right
{
text-align: center;
vertical-align: top;
border: solid 2px rgb(170,23,0);
width: 174px;
padding: 20px 0px;
margin: 0px;
background-color: #400000;
}



Usunięcie wpisu 'margin: 0px' nic nie zmieniło...
W komórce tej znajdują się na przykład inne tabele.

2. Drugi problem dotyczy wyświetlania obrazku w tle komórki tabeli...
Otórz w Operze 7 NIE wyświetla mi obrazków w tle komórek tabeli.
Używam w tym przypadku polecenia: 'background-image: url(obrazek.gif)'.
Przykładowy kod z mojego arkusza CSS:

Kod
#belka1
{
background-image: url('belka1.gif');
width: 368px;
height: 24px;
border: none;
text-align: center;
vertical-align: middle;
font-family: Verdana, Arial, 'Arial CE', sans-serif;
font-weight: bold;
font-size: 10px;
color: #fffbbf;
}


Walidator na W3C pokazuje, że nie mam żadnych błędów składni, ale tło jako obrazek i tak się nie wczytuje... :-(

Proszę o pomoc i jakieś info jak mogę sobie z tymi problemami poradzić...

Z gorącymi pozdrowieniami

Adrian


-----------------------------------------------------------------------------------
-----------------------------------------------------------------------------------

Z ostatniej chwili...

Z problemem numer 1. sobie poradziłem... Po prostu wykorzystałem <td align="center">, bo w końcu XHTML 1.0 Transitional dopuszcza taki zapis i walidator nie wyświetla błędu, a dzięki temu zawartość komórki jest wyśrodkowana dla IE, Netscape i Opery (o co mi chodziło)...

Pozostaje problem nr 2...

W Internecie znalazłem takie info dotyczące działania właściwości background-image: url('obraz.gif') dla Opery:

Cytat
- This property does not apply to inline elements, TD/TH, IMG, HR, TABLE, and form field elements.



Czyli nie zadziała ani dla <td>, ani dla <div> ani dla <span> (sprawdzałem to zresztą)...

Jak to mogę ominąć...?

Mam komórkę tabeli, w której w tle jest obrazek (belka), a na obrazku tekst (będący w tej komórce: <td id="ident">TEKST NA TLE OBRAZKA</td>

Proszę o jakieś info...
Myślałem, żeby po prostu na obrazek wstawić tekst w programie graficznym i całość zapisać jako nowy obrazek, a ten umieścić w ramach <img src="" /> w komórce tabeli.
Jednak nie chcę tego robić, dlatego, że ten tekst na tle ma być dynamicznie zmieniany (inkludowany) poprzez php...
Myślałem też o wykorzystaniu bibliotek GD dla php, ale nie chcę obciążać strony (która i tak zajęła więcej niż to planowałem)...

Z góry dzięki za odpowiedź.

Z pozdrowieniami

Adrian
revyag
Co do pierwszego pytania, to co dokładnie chcesz wyrównać ? Tekst w komórce ? Tabelę ? Najlepiej jakbyś podał link do tej strony.
Druga sprawa, nie wiem co robisz źle, link by większość rzeczy wyjaśnił, bo ja od dawna robię tło w komórkach tabel i zawsze poprawnie mam wyświetlone we wszystkich przeglądarkach.
*_ENIGMA
Witaj!

Dzięki za pomoc...
Może to Opera mi szwankuje, ale sprawdź może Ty u siebie.
Umieściłem projektową stronę na serwerze...
Oto link:

http://free.of.pl/e/enigma4/new/index.php

Pod napisem "WITAMY FANÓW ENIGMY" powinna się znajdować belka (obrazek w tle komórki), zresztą sprawdzisz w Internet Explorerze.

URL do pliku z arkuszem stylów kaskadowych CSS jest następujący:

http://free.of.pl/e/enigma4/new/index/style.css

Mam nadzieję, że to Opera szwankuje... :-/

Pozdrowionka

Adrian
revyag
Jeśli chodzi o problem z obrazkiem w tle to sprawa wygląda tak że opera nie łyka chyba gifów, nie wiem czy bug tej przeglądarki czy trzeba coś dodatkowo robić, w każdym razie jak zrobisz z obrazka belka1.gif jpgega to będzie ok smile.gif.
Co do wyrównania to chodziło Ci o stronę jako całość tak ? Bo nie jest wyrównana do środka w operze i mozilli. Żeby było ok w #main_table zmien:
Kod
margin: 0px;
na
Kod
margin: 0px auto;
*_ENIGMA
Dzięki za info!

W sumie faktycznie z JPG działa w porządku...
Popróbowałem trochę z GIF-ami i mam na to radę...
Trzeba zapisać (w jakimś programie graficznym) obrazek GIF "z przeplotem", wtedy wyświetli się w Operze bez problemu...

A z tym wyrównaniem sprawdzę sobie jeszcze. W sumie poradziłem sobie z wycentrowaniem zawartości komórek tabeli (w końcu XHTML 1.0 Transitional dopuszcza użycie atrybutu 'align' w ramach <td>)...

Z pozdrowieniami

Adrian
akubiczek
Rzecz w tym, że text-align odnosi się do tekstów i elementów inline. Elementy blokowe nie podpadają pod text-align, dlatego centrujesz je poprzez margin, tak jak kolega wyżej pokazał.

Więc to raczej MSIE źle stronę wyświetla, centrując także elementy blokowe. smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.