[CSS] Hoe ronde tabel borders maken?

Pagina: 1
Acties:
  • 193 views sinds 30-01-2008
  • Reageer

  • Reveller
  • Registratie: Augustus 2002
  • Laatst online: 05-12-2022
Hieronder heb ik twee plaatjes van dezelfde tabel. Het is een eenvoudige tabel met border=1 en cellpadding=2 met border-collapse:
Afbeeldingslocatie: http://www.danandan.luna.nl/got/recht.gif

Om de tabellen beter te laten aansluiten bij de rest van het design, wil ik graag ronde tabel hoeken:
Afbeeldingslocatie: http://www.danandan.luna.nl/got/krom.gif

Het voorbeeld hierboven is gephotoshopped, want het lukt me niet om het mbv css op te lossen. De ronde hoek is natuurlijk een plaatje, maar als ik dat als achtergrond van de tabel-cel instel, komt de border nog gewoon om het plaatje heen.

Ik loop er nu al uren mee te prutsen - wie heeft een handige manier om mbv css de buitenste vier cellen ronde hoeken mee te geven, zonder dat alle overige cellen ook aparte (border-on-)classes toegewezen moeten krijgen?

"Real software engineers work from 9 to 5, because that is the way the job is described in the formal spec. Working late would feel like using an undocumented external procedure."


  • André
  • Registratie: Maart 2002
  • Laatst online: 28-04 11:43

André

Analytics dude

Dit kun je alleen doen door 4 images absoluut over de tabel te positioneren met CSS of met JS.

  • SchizoDuckie
  • Registratie: April 2001
  • Laatst online: 18-02-2025

SchizoDuckie

Kwaak

in firefox O+
Cascading Stylesheet:
1
2
3
4
TABLE
{
-moz-border-radius: 0.75;
}

zo was het volgens mij :Y)

Stop uploading passwords to Github!


Verwijderd

@ SchizoDuckie

Bah, wat een mottige code, na elke kleine update van een browser kan je site naar de knoppen zijn.
Nuja, ik zou ook nog eens moeten denken over een beter oplossing, maar dit lijkt me zo vals. Ok FF is leuker en handiger, maar de meeste mensen surfen nog via IE.

  • Boelie-Boelie
  • Registratie: November 2004
  • Laatst online: 26-09-2020
Misschien heb je wat aan de artikelen over round corners op 456 Berea Street:
www.456bereastreet.com/ar...stom_corners_and_borders/ (CSS + js)
www.456bereastreet.com/ar...stom_corners_and_borders/ (CSS + extra markup)

Cogito ergo dubito


  • CaptBiele
  • Registratie: Juni 2002
  • Laatst online: 27-08-2021

CaptBiele

No Worries!

je moet inderdaad 4 transparante achtergrond plaatjes gebruiken voor de hoeken.
Zoek even op alistapart.com voor een artikel..

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Verwijderd schreef op donderdag 15 september 2005 @ 00:17:
@ SchizoDuckie

Bah, wat een mottige code, na elke kleine update van een browser kan je site naar de knoppen zijn.
Nuja, ik zou ook nog eens moeten denken over een beter oplossing, maar dit lijkt me zo vals. Ok FF is leuker en handiger, maar de meeste mensen surfen nog via IE.
Hoezo na elke kleine update van een browser :?

Voor een goede oplossing in CSS, zal onze TS nog wel even moeten wachten op CSS3.
And believe me, that will take a looooooong time ;)

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


Verwijderd

Kijk hier maar eens.

maak een div met de bovenstaande manier, en plaats daar dan je tabel in (als je dat nodig acht iig).

  • McVirusS
  • Registratie: Januari 2000
  • Laatst online: 30-04 12:26
AListApart.com heeft hier een artikel over: http://www.alistapart.com/articles/mountaintop

  • Reveller
  • Registratie: Augustus 2002
  • Laatst online: 05-12-2022
Bedankt voor de reacties, maar geen van de aangeboden oplossingen is wat ik zoek. Ik zit met het probleem dat ik een CMS output krijg waar ik geen vat op heb. Ik krijg een tabel terug uit het CMS die ik mbv CSS kan stylen; het is niet mogelijk om deze tabellen in een extra div te plaatsen of in een andere tabel welke vier buitenste cellen ik met een kwartrond plaatje vul. Was het maar zo simpel! Op die manier maak ik al jaren ronde hoeken. Jammer is dat de border-radius van CSS3 nog lang op zich zal laten wachten. Alleen -moz-border-radius gebruiken heeft geen zin: 90% van de bezoekers krijgt dan nog steeds rechte hoeken.

Elke cel van de tabel heeft wel een eigen class:
HTML:
1
2
3
4
5
6
7
8
9
10
11
12
<table border="1">
  <tr>
    <td class="cell top left">appel</td>
    <td class="cell">peer</td>
    <td class="cell top right">banaan</td>
  </tr>
  <tr>
    <td class="cell bottom left">appel</td>
    <td class="cell">peer</td>
    <td class="cell bottom right">banaan</td>
  </tr>
</table>

Ik hoop te dus mbv css een oplossing te vinden in de zin van:
Cascading Stylesheet:
1
2
3
4
5
6
7
8
9
10
table, td {
  border-color    : red;
  border-collapse : collapse;
  }

td.cell .top .left {
  background      : url(images/corner_top_left.gif) no-repeat top left;
  }

/* etc... */

Probleem is dan alleen dat de tabel er zo uitziet:

Afbeeldingslocatie: http://www.danandan.luna.nl/got/tabel2.gif

Zoals je ziet loopt de tabelrand om de achtergrond heen. Is het wellicht op een of andere creatieve manier nodig om css te vertellen dat de background van de 4 hoek-cellen OVER de rand heen moet vallen (bv. met een padding van -1px ofzo)?

"Real software engineers work from 9 to 5, because that is the way the job is described in the formal spec. Working late would feel like using an undocumented external procedure."


  • djluc
  • Registratie: Oktober 2002
  • Laatst online: 20:48
Je zou eventueel met JS de tabellen in een aantal divjes kunnen zetten. Dat kan door de DOM aan te passen met functies als getElementsByTagName, createElement en appendChild. De opmaak kan je dan gewoon met de bovenstaande methoden doen.

Verwijderd

Reveller schreef op zaterdag 17 september 2005 @ 14:24:
Is het wellicht op een of andere creatieve manier nodig om css te vertellen dat de background van de 4 hoek-cellen OVER de rand heen moet vallen (bv. met een padding van -1px ofzo)?
Nee, dat staat het model niet toe.

  • edwinistrator
  • Registratie: December 2000
  • Laatst online: 23-03-2022
Reveller schreef op zaterdag 17 september 2005 @ 14:24:

Probleem is dan alleen dat de tabel er zo uitziet:

[afbeelding]

Zoals je ziet loopt de tabelrand om de achtergrond heen. Is het wellicht op een of andere creatieve manier nodig om css te vertellen dat de background van de 4 hoek-cellen OVER de rand heen moet vallen (bv. met een padding van -1px ofzo)?
zorg dan dat de border van je table niet aan staat maar dat je de borders in je classes van de td's doet met behulp van backgroundplaatjes

[ Voor 75% gewijzigd door edwinistrator op 17-09-2005 16:07 ]


Verwijderd

[quote][
td.cell .top .left {
background : url(images/corner_top_left.gif) no-repeat top left;
}

hier kun je ook een positie aan geven, top left veranderen in -2px -2px zou misschien kunnen helpen, zeker weten doe ik het niet of het zo moet, maar het kan wel...

  • Pendaco
  • Registratie: Augustus 2003
  • Laatst online: 30-04 10:43

Pendaco

Vogon Poetry FTW!

wellicht heb je hier ook wat aan;

http://www.dreamdealer.nl/index31.php?show_tut=29

de maker van de site zit ook hier op dit forum, ben alleen ff zn naam kwijt :>

  • Reveller
  • Registratie: Augustus 2002
  • Laatst online: 05-12-2022
Puur jatwerk van A List Apart natuurlijk: http://www.alistapart.com/articles/mountaintop. En dan ook nog eens verschrikkelijk ranzig vertaald...

"Real software engineers work from 9 to 5, because that is the way the job is described in the formal spec. Working late would feel like using an undocumented external procedure."


  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Reveller schreef op zaterdag 17 september 2005 @ 17:29:
[...]


Puur jatwerk van A List Apart natuurlijk: http://www.alistapart.com/articles/mountaintop. En dan ook nog eens verschrikkelijk ranzig vertaald...
Hoewel ik slecht tegen jatwerk kan, moet ik het deze auteur wel nageven:
Afbeeldingslocatie: http://www.tweakers.net/ext/f/66530/full.gif
Het origineel wordt er netjes aangegeven. Dat het een ranzige "vertaling" is is iets anders..

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij

Pagina: 1