display: table; [nieuwe vraag gesteld! Lees nieuwe reactie van mij]

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

17/04/2012 15:39:52
Quote Anchor link
Beste phphulp leden,

Graag zou ik hulp krijgen op het volgende punt:

Sinds vandaag ben ik begonnen met het gebruik van CSStabels aangezien de <tr></td></td></tr> niet aan te raden is. Nu loop ik echter tegen een probleem op:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<style>
.table{
  display: table;
}
</style>

<label>hoi</label><input type="text" name="text" class="table" /></div>


Zoals jullie zien heb ik een label rond 'hoi' gezet, de bedoeling is dat dat aan de linkerkant van de textfield komt te staan:

Naam: |Textfield|


Is daar een eventuele oplossing voor? Graag zou ik weten welke!
Gewijzigd op 17/04/2012 16:42:28 door
 
PHP hulp

PHP hulp

22/12/2024 08:16:51
 
Wouter J

Wouter J

17/04/2012 15:44:17
Quote Anchor link
Je moet niet de HTML tabellen gaan vervangen door display: table. Je moet helemaal geen tabellen of iets wat daar op lijkt gebruiken, daar is het niet voor bedoeld.

Kijk eens naar dit topic: http://www.phphulp.nl/php/forum/topic/nette-form/84104/ Daarin worden een aantal slechte, maar ook een aantal goede voorbeelden gegeven.
 

17/04/2012 15:54:31
Quote Anchor link
Dank voor je snelle reactie Wouter J,

Ik ben uitgekomen op jouw voorbeeld en zal die ook gaan gebruiken.

Nogmaals dank!

Toevoeging op 17/04/2012 16:41:40:

Ben ik weer, heb nu een vraag betreffende de, voor mij nieuwe methode.

Ik heb nu een css code:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
form
{
    padding: 10px;
    margin-left: 25%;
}
label
{
    width: 150px;
    display: inline-block;
    padding-right: 15px; /* Afstand tussen Labels en Textfields*/
}
label, input
{
    margin: 2px 0;
}


In mijn HTML heb ik:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<label for='bio'>Bio:</label><textarea></textarea><br>


Wat ik nu wil is dat de tekst 'Bio' aan de bovenkant, naast de tekstarea is uitgelijnt. Net als de textfiels, zeg maar!

Hoe doe ik dat?
Gewijzigd op 18/04/2012 08:37:57 door
 
John Jimmink

John Jimmink

20/07/2012 13:56:58
Quote Anchor link
Hi Cailin,

Sorry voor het late antwoord - ik lees je vraag nu pas.

Dat je geen html-tables mag gebruiken is volstrekste onzin. Je moet weten waarvóór je ze gebruikt. Als je data wilt tonen, gebruik je hiervoor gewoon een html table. Daarvoor is deze ontwikkeld, en is daarvoor uitermate geschikt. Sterker: het is de enige (juiste) manier om die te tonen!

Een html table mag niet gebruikt worden voor iets anders, zoals pagina opmaak. Een pagina maak je op met de CSS display:table property (als dit je voorkeur heeft).

In jouw geval heb je data. Je moet dus een html table gebruiken.
 
Chris PHP

Chris PHP

20/07/2012 14:04:55
Quote Anchor link
@John,

Css kun je makkelijk gebruiken hiervoor, en hij heeft hier geen 'data' maar een formulier.

Ik zie data als mysql queries die je wilt afdrukken op je pagina, of dit nu met een while loop, foreach loop of gewoon 1 woord is.

Met css ben je velenmalen flexiebeler en veel meer styling mogelijkheden dan met tables. En je moet niets, het kan met tables maar voor 'afwijkende opmaak' zou ik voor css gaan en geen tables gebruiken.
 
Wouter J

Wouter J

20/07/2012 14:16:38
Quote Anchor link
Zucht dit topic is al 3 maanden oud, ik denk dat Cailin het ondertussen wel heeft opgelost.

John, data voor tabellen is resultaten van bijv. een onderzoek. Of een overzicht van alle gebruikers. Data is niet een formulier of de content van een website.
 
John Jimmink

John Jimmink

20/07/2012 14:21:58
Quote Anchor link
@Chris,

Ben het met je eens dat je ook css tables kunt gebruiken in dit geval. Ik ben het ook met je eens dat je niets MOET - verkeerde woordkeuze mijnerzijds. Uit de oorspronkelijke vraag begreep ik dat Cailin html tables had, die hij wilde omzetten naar css-tables, omdat een html table "niet aan te raden is".

Hoewel je semantisch gelijk hebt dat het niet om data gaat maar een formulier, lijkt mij het gebruik van een html table toch eenvoudiger dan een css table. Maar goed, dat mag hij zelf natuurlijk beslissen.

Overigens ben ik het niet met je eens dat data alleen iets is dat je met sql (of een andere database) genereert: je kunt net zo goed statische gegevens in een html pagina opnemen.
 
Chris PHP

Chris PHP

20/07/2012 14:25:39
Quote Anchor link
@John,

Wat bedoel je met css-table en HTML-table? Een table is een table en altijd HTML. Wat je in css doet is de HTML-table stylen, maar het blijft ten alle tijden een HTML-table.

Als je met css gaat werken gebruik je div's en geen tables, dat is het grote verschil tussen deze twee en geeft je veel meer vrijheid dan met tables.

Het database gedeelte was een voorbeeld, maar de opmaak van een formulier is geen data maar HTML. De gegevens van de $_POST op de volgende pagina is data, om eventjes een ander voorbeeld dan een database te geven.

@Wouter,

Klopt ik zag het, ik heb gereageerd op het bericht van John, aangezien die van vandaag was.
Gewijzigd op 20/07/2012 14:29:04 door Chris PHP
 
Wouter J

Wouter J

20/07/2012 14:30:28
Quote Anchor link
Quote:
Als je met css gaat werken gebruik je div's en geen tables, dat is het grote verschil tussen deze twee en geeft je veel meer vrijheid dan met tables.

Phoei daar zeg je wat verkeerds. CSS en divisions zijn 2 totaal andere dingen. Een table maak je ook op met CSS en een division hoef je niet per se te linken aan CSS.

CSS en HTML zijn 2 totaal en ook echt totaal andere dingen. HTML moet je schrijven om elke tekst semantisch zo goed mogelijk weer te geven, niet omdat het makkelijk te stijlen is, daar heb je CSS voor.

En dat is de fout die John hier maakt. John heeft het erover dat je HTML tabellen maar gewoon moet gebruiken omdat het makkelijker is om te stijlen dan display: table; in CSS te gebruiken. Goed, het is inderdaad makkelijker, maar dat je daarom maar HTML tabellen moet gebruiken. Nee!! John geeft zelf het antwoord al:
"Hoewel je semantisch gelijk hebt dat het niet om data gaat maar een formulier"
Het enige nut van HTML in de wereld van de www's is het semantisch weergeven. Ga dus nooit het semantisch weergeven ondergeschikt stellen aan het makkelijk stijlen. Soms heb je een extra division nodig om het te stijlen, dat is prima. Maar ga niet verkeerde elementen gebruiken omdat 'het makkelijker is en ach die semantiek maak toch niks uit'.
 
Chris PHP

Chris PHP

20/07/2012 14:36:52
Quote Anchor link
@Wouter,

Misschien was ik iets te kort door de bocht, maar mijn punt was eigenlijk dat je velen malen flexibeler bent met div's dan met een table. En ja div's staan uiteraard los van CSS, echter maak je de opmaakt in CSS mijn fout dus omdat ik wat te kort door de bocht ging.

Een table kun je nog in-line een border geven, met div's moet je style="" gebruiken wat dus CSS is. Zonder dat heb je weinig aan een div, terwijl een table ook zonder CSS opgemaakt kan worden.

Had verwacht om niet een post van twee a4'tjes te hoeven maken ;-)
Gewijzigd op 20/07/2012 14:38:59 door Chris PHP
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.