Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][CSS]jak uzyskać taki efekt bez tabel
Forum PHP.pl > Forum > Przedszkole
john_doe
Witam,

np. na stronie http://webmail.home.pl/webmail widzimy ramki z zaokrąglonymi rogami.
Teraz home to zmieniło ale poprzednio identiko efekt zrobili na tabelach.
Poproszę o jakieś wskazówki jak teraz robi się takie rzeczy ?

pozdro
Poker
Ja osobiście robię to tak: top + treść + stopka

top i stopka width i height stałe

w treści powtarzam tło osią-y


i mam prostą budowe

Kod
<div class="top"></div>
<div class="tresc"></div>
<div class="stopka"></div>
john_doe
no dobrze. Powiedzmy, że robię podobnie jednak jak załatwić na div`ach tą rameczkę z zaokrąglonymi rogami. Potem w to pakować treść czy cokolwiek innego to już luzik smile.gif
sadistic_son
Musisz mieć 4 jpgi, każdy na narożnik.

  1. <div id=calosc>
  2.  
  3. <div id=gora>
  4. <img id=lewy_gorny src=lewy_gorny.jpg><img id=prawy_gorny src=prawy_gorny.jpg>
  5. </div>
  6.  
  7. <div id=srodek>TRESC</div>
  8.  
  9. <div id=dol>
  10. <img id=lewy_dolny src=lewy_dolny.jpg><img id=prawy_dolny src=prawy_dolny.jpg>
  11. </div>
  12.  
  13. </div>


A w CSSie ustawiasz float:right; i float:left dla id=lewy_gorny,prawy,dolny itp.
robos85
http://www.methvin.com/jquery/jq-corner-demo.html

Jak dla mnie rozwiązanie szybkie i przyjemne:) I możesz to na 1 divie zrobić.
Kildyt
Cytat(Poker @ 12.07.2009, 22:41:11 ) *
Ja osobiście robię to tak: top + treść + stopka

top i stopka width i height stałe

w treści powtarzam tło osią-y
i mam prostą budowe

Kod
<div class="top"></div>
<div class="tresc"></div>
<div class="stopka"></div>

Puste div-y nie są zbyt ładne.
Devnul (wielki szacun winksmiley.jpg ) kiedyś podesłał mi ciekawe rozwiązanie problemu. Wystarczy wszystkie div-y ułożyć w postaci drzewa, czyli najpierw lewy-górny, później (w nim) prawy-górny, później lewy-dolny, później prawy-dolny i na końcu treść. Później w css wystarczy tylko poustawiać marginesy i właściwości dla tła. Wszystko wychodzi na prawdę dobrze. Wiem bo tak pociąłem mój ostatni design.

Kolejna możliwość to :before i :after, ale nie próbowałem tego w praktyce, no i kochane IE nie obsługuje tego.

Ostatnio zacząłem używać border-radius. Może źle robię, bo to jeszcze nie jest standard i w IE nie działa, ale kiedyś musi wejść ta bardzo pożyteczna rzecz (chyba wszystkie najpopularniejsze przeglądarki już to obsługują, tylko nie IE i Opera).
Gryf
Kod
no dobrze. Powiedzmy, że robię podobnie jednak jak załatwić na div`ach tą rameczkę z zaokrąglonymi rogami. Potem w to pakować treść czy cokolwiek innego to już luzik

wiele osób rozwiązuje ten problem przez pocięcie grafiki ramki na trzy części
- górne rogi
- środek boki
- dolne rogi
całość pakujesz do jednego pojemnika, środkowemu dajesz
Kod
background-repeat: repeat-y

i w nim umieszczasz treść.
sadistic_son
Cytat(robos85 @ 12.07.2009, 22:48:00 ) *
http://www.methvin.com/jquery/jq-corner-demo.html

Jak dla mnie rozwiązanie szybkie i przyjemne:) I możesz to na 1 divie zrobić.


efekty są fajne ale ogólnie wyglądają biedne. Nie da się tego zastosować do grafiki, żadnych gradientów itp.
john_doe
Gryf czy możesz zapodać zupełnie przykładowy kod?
Poker
ale niektórzy głupoty piszą dzielicie 1 boxa na 4 divy rogami i piszecie w 1 divie razem macie 5 divów? :|


jak Ci napisałem robisz tak :

Kod
<div class="top">tekst</div>
<div class="tresc">tekst</div>
<div class="stopka"></div>


i efekt masz taki : Tabelka z zaokrąglonymi rogami


Zobacz źródło masz tam cały css potrzebujesz tylko jpg w topie , w tresci który powtarzasz osią-y , i w stopce.



dla swojej strony robisz według własnych ustaleń w topie nie musi znajdować się tekst możesz ustawić np top wielkości 5px który zawiera oba górne rogi tak samo ze stopką.
Kildyt
Cytat(Poker @ 12.07.2009, 23:12:29 ) *
ale niektórzy głupoty piszą dzielicie 1 boxa na 4 divy rogami i piszecie w 1 divie razem macie 5 divów? :|
jak Ci napisałem robisz tak :

Kod
<div class="top">tekst</div>
<div class="tresc">tekst</div>
<div class="stopka"></div>


i efekt masz taki : Tabelka z zaokrąglonymi rogami
Zobacz źródło masz tam cały css potrzebujesz tylko jpg w topie , w tresci który powtarzasz osią-y , i w stopce.
dla swojej strony robisz według własnych ustaleń w topie nie musi znajdować się tekst możesz ustawić np top wielkości 5px który zawiera oba górne rogi tak samo ze stopką.

Nie skazuj użytkowników i serwera na ściąganie niepotrzebnych plików. Takie rozwiązania to chyba z tych kursów z logiem IE. Poza tym ostatni div jest pusty, a nie jest to zbyt ładne.
Poker
Cytat(Kildyt @ 12.07.2009, 23:30:55 ) *
Nie skazuj użytkowników i serwera na ściąganie niepotrzebnych plików. Takie rozwiązania to chyba z tych kursów z logiem IE. Poza tym ostatni div jest pusty, a nie jest to zbyt ładne.


No tak twoje rozwiązanie i ładowanie 4 plików img do każdego rogu napewno jest lepsze...

Może zamiast "NARAŻAĆ SERWER NA TAK OGROMNE OBCIĄŻENIA" niech każdy zrobi 1 iMG i wrzuci go w tło diva ;> ...

Zamiast ułatwić sobie pracę tylko ją sobie komplikujecie stopka jest pusta? to jest przykład używać możesz jak chcesz... chcesz to wypełnij tekstem nie chcesz? to zostaw tak jak podałem...
Kildyt
Cytat(Poker @ 12.07.2009, 23:38:36 ) *
No tak twoje rozwiązanie i ładowanie 4 plików img do każdego rogu napewno jest lepsze...
A zakład, że jest lepsze? Nie dość, że możesz w szybki sposób zmienić rozmiar bloku, bez zbędnego manipulowania plikami to do tego takie rozwiązanie waży o wiele mniej niż twój plik.
sadistic_son
Cytat(Kildyt @ 12.07.2009, 23:44:00 ) *
A zakład, że jest lepsze? Nie dość, że możesz w szybki sposób zmienić rozmiar bloku, bez zbędnego manipulowania plikami to do tego takie rozwiązanie waży o wiele mniej niż twój plik.


Pewnie, że tak. Narożniki maja klika pikseli w pionie i poziomie a caly obrazek kilkadziesiąt. No a co się stanie Poker jeśli jako tło ustawisz cały obrazek i dopiszesz więcej treści? Poker wstaw do TEGO ciąg np. 50 znaków bez spacji i bedzie overflow. A przy naszym rozwiązaniu cały box się po prostu powiększy.
Poker
to nie temat do pogawędek co lepsze co nie, ani do sprzeczania się.


Ja napisałem swój sposób Ty swój i po problemie.

Koniec off-topicu.
sadistic_son
To po co to napisałeś?!?
Cytat(Poker @ 12.07.2009, 23:12:29 ) *
ale niektórzy głupoty piszą dzielicie 1 boxa na 4 divy rogami i piszecie w 1 divie razem macie 5 divów? :|
Kildyt
Cytat(Poker @ 12.07.2009, 23:50:11 ) *
to nie temat do pogawędek co lepsze co nie, ani do sprzeczania się.
Ja napisałem swój sposób Ty swój i po problemie.

Koniec off-topicu.

Trzeba znaleźć tą granicę gdzie rozmowa staje się off-topem. IMHO tej granicy jeszcze nie przekroczyliśmy. Sprzeczamy się bo chcemy dosć do jak najlepszego rozwiązania problemu, a to jest sensowne dążenie do zakończenia topica.
A tak poza tym to sam zacząłem tą dyskusję. Jeżeli wiem, że moje rozwiązanie jest lepsze to walczę o nie.

A tak poza tym, to jeżeli ktoś uwielbia Microsoft zawsze może wykorzystać ich sposób. Tabelki i luz. biggrin.gif I pomyśleć, że napisali to na oficjalnej stronie. Eh...

Edit: Sądzę również, że rozwiązywanie problemów na img-ach nie jest zbyt dobre, bo strona nie wygląda estetycznie podczas zaznaczania wszystkiego i roboty (np. Google bot images) musi niepotrzebnie ssać obrazki, które do niczego mu się nie przyda.
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.