[HTML] Maatvoering tabellen en vectoren lopen niet

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • Pizza_Boom
  • Registratie: Juli 2012
  • Laatst online: 11-10 10:16
Even een topicje, ik blijf ruzie houden met mijn vector graphics die ik in tabellen gooi. Specifiek met eentje. Waarschijnlijk kijk ik gewoon over een dubbele declaratie van een bepaalde variabele heen, maar op dit moment zie ik niet waar.

Het gaat om onderstaande snippet, alle javascript heb ik er even uitgestript, dat heeft geen invloed op deze, ik heb het namelijk ook als ik alleen onderstaande snippet host:
HTML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<html>
<head>
    <title></title>
</head>
<body>
        <table border="0" cellpadding="1" cellspacing="0" height="115" width="600px">
            <tbody>
                <tr>
                    <td colspan="2">
                    <div style="width:600px; overflow-x: auto; overflow-y: hidden;">
                    <table border="0" cellpadding="0" cellspacing="0" >
                        <tbody>
                            <tr>
                                <td> <img src="fileimages/1.png" height="125" width="110" />
                                <svg width="110"> <rect fill="red" height="40" r="40" stroke="black" stroke-width="2" width="110"></rect> <text fill="white" x="5" y="25">1</text> </svg></td>
                                <td> <img src="fileimages/2.png" height="125" width="110" />
                                <svg width="110"> <rect fill="red" height="40" r="40" stroke="black" stroke-width="2" width="110"></rect> <text fill="white" x="5" y="25">2</text> </svg></td>
                                <td> <img src="fileimages/3.png" height="125" width="110" />
                                <svg width="110"> <rect fill="red" height="40" r="40" stroke="black" stroke-width="2" width="110"></rect> <text fill="white" x="5" y="25">3</text> </svg></td>
                                <td> <img src="fileimages/4.png" height="125" width="110" />
                                <svg width="110"> <rect fill="red" height="40" r="40" stroke="black" stroke-width="2" width="110"></rect> <text fill="white" x="5" y="25">4</text> </svg></td>
                                <td> <img src="fileimages/5.png" height="125" width="110" />
                                <svg width="110"> <rect fill="red" height="40" r="40" stroke="black" stroke-width="2" width="110"></rect> <text fill="white" x="5" y="25">5</text> </svg></td>
                                <td> <img src="fileimages/6.png" height="125" width="110" />
                                <svg width="110"> <rect fill="red" height="40" r="40" stroke="black" stroke-width="2" width="110"></rect> <text fill="white" x="5" y="25">6</text> </svg></td>
                                <td> <img src="fileimages/7.png" height="125" width="110" />
                                <svg width="110"> <rect fill="red" height="40" r="40" stroke="black" stroke-width="2" width="110"></rect> <text fill="white" x="5" y="25">7</text> </svg></td>
                            </tr>
                </tbody>
            </table>
            </div>
            </td>
        </tr>
        <tr>
            <td>
            <table border="0" cellpadding="0" cellspacing="0" width="200">
                <tbody>
                    <tr>
                        <td colspan="2"><svg height="30" width="200"> <rect fill="black" height="30" r="40" stroke="black" stroke-width="3" width="200"></rect> <text fill="white" font-size="19" font-weight="bold" text-anchor="middle" x="100" y="21">Bedieningstand</text> </svg></td>
                    </tr>
                    <tr>
                        <td colspan="2"><svg height="40" width="200"> <rect fill="red" height="40" r="40" stroke="black" stroke-width="3" width="200"></rect> <text fill="white" font-size="18" text-anchor="middle" x="100" y="27">Automatisch</text> </svg></td>
                    </tr>
                    <tr>
                        <td colspan="2"><svg height="40" width="200"> <rect fill="red" height="40" r="40" stroke="black" stroke-width="3" width="200"></rect> <text fill="white" font-size="18" text-anchor="middle" x="100" y="27">Handmatig</text></svg></td>
                    </tr>
                    <tr>
                        <td><svg height="40" width="100"> <rect fill="red" height="40" r="40" stroke="black" stroke-width="5" width="100"></rect> <text fill="white" font-size="18" text-anchor="middle" x="50" y="25">In</text></svg></td>
                        <td><svg height="40" width="100"> <rect fill="red" height="40" r="40" stroke="black" stroke-width="5" width="100"></rect> <text fill="white" font-size="18" text-anchor="middle" x="50" y="25">Uit</text></svg></td>
                    </tr>
                </tbody>
            </table>
            </td>
            <td style="width: 100px;">&nbsp;</td>
        </tr>
    </tbody>
</table>
</body>
</html>


In het eerste stukje (met 1, 2, ..., 7) heb ik plaatjes. Die staan lokaal en doen het. De blokjes eronder doen het ook, alleen blijf ik onder deze 7 items een groot wit vlak houden. Ik kan niet plaatsen waar die precies vandaan komt of waar die in de code zit. De overflow op de y as hiden is natuurlijk een oplossing, maar naar mijn idee symptoombestrijding. Immers, als ik de hoogtebeperking (die pas is voor een plaatje + vector) eruit gooi dan zakt de "bedieningstand" naar beneden door het lege gedeelte. Zie onderstaande plaatje voor wat ik bedoel met loze ruimte.

Afbeeldingslocatie: http://i.imgur.com/Jni4XHv.png

En ja, je pagina indelen met tabellen is heel erg 2000, maar het volstaat voor deze toepassing (en nog steeds, net als in mijn andere topics hier, is de host een Raspberry Pi en is het zooitje niet extern benaderbaar, dus hoe lager de belasting van de server, hoe beter. En daarbij is het beeldscherm ook nog een klein dingetje. :+

Acties:
  • +1 Henk 'm!

  • TheBoef
  • Registratie: November 2007
  • Laatst online: 10-10 14:19
Je moet je SVG elementen ook een height mee geven dan ben je van de wit ruimte af.

http://codepen.io/anon/pen/eJXXgJ

Acties:
  • +1 Henk 'm!

  • Raem
  • Registratie: Oktober 2005
  • Laatst online: 16:39
Je SVG elementen zijn 150px hoog. Als je ze een hoogte meegeeft is het volgens mij opgelost.

https://psnprofiles.com/RaemNL


Acties:
  • 0 Henk 'm!

  • Pizza_Boom
  • Registratie: Juli 2012
  • Laatst online: 11-10 10:16
Raem schreef op dinsdag 16 februari 2016 @ 14:29:
Je SVG elementen zijn 150px hoog. Als je ze een hoogte meegeeft is het volgens mij opgelost.
TheBoef schreef op dinsdag 16 februari 2016 @ 14:28:
Je moet je SVG elementen ook een height mee geven dan ben je van de wit ruimte af.

http://codepen.io/anon/pen/eJXXgJ
Zucht... Ik zei toch dat ik ergens overheen aan het kijken was... :+ Afbeeldingen 125 hoog en SVG 40 hoog en ik ben af van die lege ruimte onder mijn objecten.

Thanks guys. _/-\o_ 8)

Acties:
  • 0 Henk 'm!

Verwijderd

Ik begrijp die SVG-elementen niet. Dat kan toch beter?
SVG is handig als je ingewikkelde vormen hebt en die wilt selecteren op basis van Fuzzy Select in bijv. the Gimp om die selecties weer om te zetten naar SVG-paden.
Waarom zou je SVG gebruiken voor eenvoudige tabelletjes?

Een simpel voorbeeld van SVG-paden (je kunt er verder niks mee):
http://maingay.com/iscore180/maphi2.html
Let niet op dat vervelende filmpje erachter, dat was maar een testje ...

Het gehele dartboard is een SVG. Klik maar op de rechter-muis-knop en kies voor source-code, het is allemaal 100% javascript met een enorme SVG-tabel er achter. Die tabel heb ik gemaakt met the Gimp, fuzzy tool, dan selecties over zetten naar paden en die weer exporteren. Die data kun je dan bewerken met een Perl/PHP scriptje. Klinkt ingewikkeld, maar is relatief simpel.

Mijn vraag: waarom een simpel tabelletje in SVG? Dat kan gemakkelijk in HTML zelfs.

Acties:
  • 0 Henk 'm!

  • Pizza_Boom
  • Registratie: Juli 2012
  • Laatst online: 11-10 10:16
Verwijderd schreef op dinsdag 16 februari 2016 @ 15:06:
Mijn vraag: waarom een simpel tabelletje in SVG? Dat kan gemakkelijk in HTML zelfs.
Omdat ze van kleur moeten veranderen als ze geactiveerd zijn, waarbij per element verschilt of het een onclick of onmouseup/down is. En ik mijzelf nog steeds zie als een html/js/php noob...

Acties:
  • 0 Henk 'm!

Verwijderd

Pizza_Boom schreef op woensdag 17 februari 2016 @ 09:22:
[...]
Omdat ze van kleur moeten veranderen als ze geactiveerd zijn, waarbij per element verschilt of het een onclick of onmouseup/down is. En ik mijzelf nog steeds zie als een html/js/php noob...
SVG zegt niets over van kleur verschieten middels een mouse-over of een mouse-up/down/click, dat zul je alsnog via CSS/javascript moeten doen. SVG is handig als je een ingewikkelde map wilt maken, maar wordt niet geweldig ondersteund door browsers.
Voor tabellen neem je geen SVG, maar soms is het handig (meestal niet). Het is best ingewikkeld uit te leggen en ik had al een poging gewaagd. Ingewikkelde vormen in bijv. the Gimp kun je over zetten naar paden en die weer exporteren als SVG-paden. Besef dat de ondersteuning door verschillende browsers niet geweldig is.
Ik had al een voorbeeld gegeven van een dartboard, als je op die pagina de rechtermuis-knop gebruikt en naar beneden scrollt in de source-code, dan zul je zien dat 90% van de pagina bestaat uit ingewikkelde SVG-paden. Die ga je niet handmatig intypen. Voor tabellen volkomen overbodig (onmouseover, onmouseout, onmouseclick kan gewoon in CSS, 3 regeltjes).

Acties:
  • 0 Henk 'm!

Verwijderd

Dubbel-post, zie boven.
Verwijderen kan niet.

[ Voor 168% gewijzigd door Verwijderd op 23-02-2016 05:36 ]

Pagina: 1