Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Zaokrąglenie tabel, jak uzyskać najlepszy efekt?
WebCM
post 30.08.2010, 16:35:31
Post #1





Grupa: Zarejestrowani
Postów: 375
Pomógł: 20
Dołączył: 28.07.2006

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


Standardowo stworzona tabela:
  1. <table cellspacing="1" cellpadding="5">
  2. <caption>Nagłówek całej tabeli</caption>
  3. <tr>
  4. <th>Nagłówek 1</th><th>Nagłówek 2</th>
  5. </tr>
  6. <tr>
  7. <td>Coś tam</td><td>Coś tam</td>
  8. </tr>
  9. <tr>
  10. <td colspan="2"><input value="Zapisz" /></td>
  11. </tr>
Style
  1. table {
  2. background-color: kolor_obramowania;
  3. width: 100%;
  4. margin-bottom: 10px
  5. }
  6.  
  7. td {
  8. background-color: kolor_tla_komorek;
  9. padding: 5px
  10. }
Taki układ jest stosowany prawie wszędzie. Tego nie da się uzyskać wyłącznie za pomocą atrybutu border.

Jak dodać obramowanie od góry i od dołu? Wygląda na to, że nie da się.

Próba 1. Dodać border-radius do table

Aby eksperyment powiódł się, tabela musi mieć obramowanie border: 1px solid kolor; ale go nie ma. Dlaczego? Byłaby podwójnie obramowana! Przez border: i background-color!

Próba 2. Ujemne marginesy dla nagłówka i ostatniego wiersza - nie działa

Czy coś pominąłem? Zatem jak zaokrąglić tabelę? smile.gif

Można inaczej stworzyć tabelę, co nawet będzie bardziej logiczne, czyli border-spacing i border. Coś mi nie wychodzi. Kiedy dodam border-spacing: 1px; border: 1px solid #kolor i border-radius, tabela jest zaokrąglona, ale kolor obramowania wewnątrz jest biały. Jeżeli dodam atrybut border, źle to wygląda.


--------------------
„Jesteśmy różni, pochodzimy z różnych stron Polski, mamy różne zainteresowania, ale łączy nas jeden cel. Cel ten to Ojczyna, dla której chcemy żyć i pracować.” Roman Dmowski
Go to the top of the page
+Quote Post
Blame
post 30.08.2010, 16:42:58
Post #2





Grupa: Zarejestrowani
Postów: 678
Pomógł: 124
Dołączył: 26.09.2009

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


Ale że co? Nie rozumiem w ogóle co chcesz osiągnąć, dodam tylko, że lekarstwem na podwójne obramowanie jest border-collapse.


--------------------
Go to the top of the page
+Quote Post
krzysztof_kf
post 30.08.2010, 19:19:03
Post #3





Grupa: Zarejestrowani
Postów: 1 135
Pomógł: 158
Dołączył: 19.03.2009
Skąd: Toruń

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


A sobie strzelę


  1.  
  2. border-top: ;
  3. border-bottom: ;
Go to the top of the page
+Quote Post
WebCM
post 30.08.2010, 19:53:25
Post #4





Grupa: Zarejestrowani
Postów: 375
Pomógł: 20
Dołączył: 28.07.2006

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


krzysztof_kf: co ma to zmienić? A co z bokami? Bez wyłączenia background-color dla <table> kiepsko to wygląda

Wyjaśnię, co chcę otrzymać.

Rogi tabeli mają być zaokrąglone. W powyższym przykładzie nagłówek realizuje tag <h1>, ale czasami jest potrzeba użycia <caption>. Na dole przy zaokrągleniach brakuje kawałka obramowania (błąd!). Odpowiedź prosta - sam tag <table> nie ma właściwości border:

Jak zatem zaokrąglić tabelę bez zepsucia jej wyglądu?

Znam własność border-collapse, ale jak ustawić wewnętrzne obramowanie w CSS?

Ten post edytował WebCM 30.08.2010, 19:57:01


--------------------
„Jesteśmy różni, pochodzimy z różnych stron Polski, mamy różne zainteresowania, ale łączy nas jeden cel. Cel ten to Ojczyna, dla której chcemy żyć i pracować.” Roman Dmowski
Go to the top of the page
+Quote Post
macromatic
post 14.09.2010, 13:54:10
Post #5





Grupa: Zarejestrowani
Postów: 25
Pomógł: 1
Dołączył: 20.02.2007

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


a nie lepiej to zrobić za pomocą obrazków zamiast CSS'a?
obrazki będą wyświetlać się wszędzie, natomiast border nie działa z tego co kojarzę na IE
Go to the top of the page
+Quote Post
lDoran
post 14.09.2010, 13:59:14
Post #6





Grupa: Zarejestrowani
Postów: 172
Pomógł: 13
Dołączył: 15.11.2009

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


Cytat(macromatic @ 14.09.2010, 13:54:10 ) *
a nie lepiej to zrobić za pomocą obrazków zamiast CSS'a?
obrazki będą wyświetlać się wszędzie, natomiast border nie działa z tego co kojarzę na IE

tak pod IE jest tragedia, ale jeżeli czegoś szukasz i chcesz to w CSS'ie zrobić to tu masz link: http://perfectionorvanity.com/border-radius.html
Go to the top of the page
+Quote Post
erix
post 15.09.2010, 17:38:30
Post #7





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Cytat
tak pod IE jest tragedia

A dasz sobie rękę uciąć? snitch.gif

http://snook.ca/archives/html_and_css/roun..._experiment_ie/


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

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
WebCM
post 22.09.2010, 15:32:28
Post #8





Grupa: Zarejestrowani
Postów: 375
Pomógł: 20
Dołączył: 28.07.2006

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


Zrobiłem to inaczej. Pozostała jeszcze kwestia obramowania wewnętrznego tabeli dla innych przeglądarek niż FF.

  1. /* Top round */
  2. h1, .menuHeader, .tabela caption
  3. {
  4. border-radius: 5px 5px 0 0;
  5. -moz-border-radius: 5px 5px 0 0;
  6. -webkit-border-radius: 5px 5px 0 0;
  7. -khtml-border-radius: 5px 5px 0 0
  8. }
  9.  
  10. /* Bottom round */
  11. .contentBox, .menuBox, .tabela
  12. {
  13. border-radius: 0 0 5px 5px;
  14. -moz-border-radius: 0 0 5px 5px;
  15. -webkit-border-radius: 0 0 5px 5px;
  16. -khtml-border-radius: 0 0 5px 5px
  17. }
  18.  
  19. /* Both round - nie mam pomysłu na nazwę uniwersalnej klasy */
  20. .info, .error, .warning {
  21. border-radius: 5px;
  22. -moz-border-radius: 5px;
  23. -webkit-border-radius: 5px;
  24. -khtml-border-radius: 5px
  25. }
  26. .tabela {
  27. width: 100%;
  28. border: 1px solid #BFBFBF; /* obramowanie ZEWNĘTRZNE */
  29. border-spacing: 1px; /* odstęp między komórkami wynosi 1px */
  30. }
  31. .tabela tbody {
  32. background-color: #EAEAEA; /* kolor obramowania w Firefoksie */
  33. overflow: hidden; /* hak dla Firefoksa rozciągający tło na obramowanie */
  34. }
  35. .tabela td {
  36. padding: 5px; /* margines wewnętrzny KAŻDEJ komórki */
  37. background-color: #FFF; /* biały kolor tła komórek - NAJWAŻNIEJSZA CZĘŚĆ */
  38. }
  39. .tabela tr:nth-child(even) td {
  40. background-color: #F8F8F8 /* parzyste wiersze w innym kolorze - WAŻNA CZĘŚĆ */
  41. }
Obramowanie pojawi się tylko w Firefoksie. Szukam lepszego rozwiązania.

Ten post edytował WebCM 22.09.2010, 15:33:02


--------------------
„Jesteśmy różni, pochodzimy z różnych stron Polski, mamy różne zainteresowania, ale łączy nas jeden cel. Cel ten to Ojczyna, dla której chcemy żyć i pracować.” Roman Dmowski
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 28.06.2025 - 02:14