Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zaokrąglenie tabel
Forum PHP.pl > Forum > Po stronie przeglądarki > CSS
WebCM
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.
Blame
Ale że co? Nie rozumiem w ogóle co chcesz osiągnąć, dodam tylko, że lekarstwem na podwójne obramowanie jest border-collapse.
krzysztof_kf
A sobie strzelę


  1.  
  2. border-top: ;
  3. border-bottom: ;
WebCM
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?
macromatic
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
lDoran
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
erix
Cytat
tak pod IE jest tragedia

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

http://snook.ca/archives/html_and_css/roun..._experiment_ie/
WebCM
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.
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.