Table jossa kaikki kentät samanmittaisia

tdColumn

Moi!

Idea saada table jossa kaikki kentät ovat saman mittaisia ilman että määrittää sille pikseli tai prosentuaalisen koon vaan koko määräytisi sisällö perusteella. Esimerkiksi jos tablessa on omissa sarakkeissa kissa, koira ja hevonen. Kun hevonen on näistä pisin sanana määräytyisi td- kentän kooksi tämä. Miten tehdään

5

489

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • qwerfgt4

      Lisäät kenttiin divin jossa sisältö. Lisäät myös toisen divin jonka leveys on 1px ja korkeus haluamasi (esim. 25 px) ja kolmannen divin jonka korkeus on 1px ja leveys haluamasi (esim. 25 px).

      < td >
      < div id="content" >Heppa< /div > < /div >
      < /td >
      < td >
      < div id="content" >Kissa< /div > < /div >
      < /td >

      • gfghghjhjkjfdgdggf

        kahta samaa id elementtiä ei voi käyttää..

        Mutta class määritettä voi olla...


      • qwerfgt4
        gfghghjhjkjfdgdggf kirjoitti:

        kahta samaa id elementtiä ei voi käyttää..

        Mutta class määritettä voi olla...

        No, sepä oli muutenkin perseestä.

        < td >
        < div class="content" >< div class="sep1" >Heppa< div class="sep2" >< /div > < /div >
        < /td >
        < td >
        < div class="content" >< div class="sep1" >Kissa< div class="sep2" >< /div > < /div >
        < /td >


      • qwerfgt4
        qwerfgt4 kirjoitti:

        No, sepä oli muutenkin perseestä.

        < td >
        < div class="content" >< div class="sep1" >Heppa< div class="sep2" >< /div > < /div >
        < /td >
        < td >
        < div class="content" >< div class="sep1" >Kissa< div class="sep2" >< /div > < /div >
        < /td >

        saatana...

        < td >
        < div class="content" >< div class="sep1" >< /div >Heppa< div class="sep2" >< /div > < /div >
        < /td >
        < td >
        < div class="content" >< div class="sep1" >< /div >Kissa< div class="sep2" >< /div > < /div >
        < /td >


      • qwerfgt4 kirjoitti:

        saatana...

        < td >
        < div class="content" >< div class="sep1" >< /div >Heppa< div class="sep2" >< /div > < /div >
        < /td >
        < td >
        < div class="content" >< div class="sep1" >< /div >Kissa< div class="sep2" >< /div > < /div >
        < /td >

        Olisi helpompi nähdä, mitä oikein tarkoitat, jos olisit tehnyt esimerkkisivun ja kertonut sen URLin. Toistaiseksi ei oikein näytä siltä, että ehdotuksesi lainkaan vaikuttaisi esitettyyn ongelmaan. Pikselimääräisiä asetuksia haluttiin olla käyttämättä (kuten syytä onkin), mutta kuitenkin tarjoat niitä. Lisäksi lisä-divien käyttö tuntuu aivan aiheettomalta – mitä niillä oletetaan saavutettavan?

        CSS:ssä ei ole mahdollisuutta asettaa taulukon rivin soluja samanmittaisiksi halutulla tavalla. Ne voidaan toki asettaa jotakin yksikköä kuten px, % tai em käyttäen, mutta ei sillä tavalla, että leveys olisi sellainen, että juuri riittää kaikille soluille. Sellainen asetus voidaan tehdä taulukon sarakkeelle mutta ei vaakariville.

        JavaScriptillä asian voi kuitenkin hoitaa melko helposti. Siinä voi käydä läpi rivin, laskea leveimmän solun leveyden ja asettaa muut sen mukaisiksi. Tätä varten ei aluksi aseteta mitään leveyksiä, vaan annetaan selaimen muotoilla vapaasti. Käytännössä riittää käydä läpi taulukon yksi rivi, jos ei ole käytetty mitään colspan-määritteitä. Voidaan ottaa jokin rivi, vaikkapa ensimmäinen, ja lisätä sen tr-tägiin esimerkiksi id="ekaRivi", ja sitten...


        var rivi = document.getElementById("ekaRivi");
        var suurinLeveys = 1;
        for ( var i = 0; i < rivi.childNodes.length; i ) {
        var leveys = rivi.childNodes[i].offsetWidth;
        if(leveys > suurinLeveys) { suurinLeveys = leveys; } }
        for ( var i = 0; i < rivi.childNodes.length; i ) {
        rivi.childNodes[i].style.width = suurinLeveys "px"; }


        Tuo kannattaa laittaa sivun loppuun, jotta selain ehtii lukea ja taittaa taulukon.

        Tässä CSS:ää on tietenkin vain solujen width-ominaisuuden asettaminen ja sekin tapahtuu JavaScriptissä.


    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Lindtman I vasemmistohallitus aloittaa viimein Suomen kuntoon laittamisen

      Tässä nyt on 3 vuotta seurattu irvokasta kärsimysnäytelmää nimeltään "valtion budjetin tasapainotus by äärioikeisto", ja
      Maailman menoa
      189
      2704
    2. Missä viipyy persujen lupaama euron bensa?

      En edes muista milloin bensapumpussa olisi ollut ykkösellä alkava litrahinta. Missä siis viipyy persujen lupaama euron b
      Maailman menoa
      148
      2407
    3. Kirje, PellePelottomalle.

      Tärkeää olisi luoda ystävyys, että se, jota rakastaa, on samalla paras ystävä ja luotettavin, jolle voi ja uskaltaa luot
      Ikävä
      106
      1132
    4. Sinua oli kiihottavaa

      Sinua nainen oli kiihottavaa katsella.
      Ikävä
      94
      989
    5. Meni kyllä aika solmuun

      Meidän tutustuminen 😐
      Ikävä
      64
      921
    6. Martinan hevoset.

      Tämä todella kaunis ja ketterä harmaa hevonen jolla monet kilpailut voitetaan ei ole Martinan.Tytär ratsastaa sillä tait
      Kotimaiset julkkisjuorut
      241
      826
    7. Mistä löytyy naisseuraa sinkkumiehelle?

      Kertokaapas kokeneemmat mistä löytyis naisseuraa sinkulle. Ihan ois eukko nyt tosissaan hakusessa. Tanssipaikat kun on a
      Kuhmo
      20
      820
    8. Persut jakavat tekoälyllä tehtyjä kuvia maahanmuuttajista somessa

      Eivät mainitse, että ovat tekoälyllä tehtyjä. Eivät näe asiassa mitään ongelmaa. Valehtelijapuolue taas vauhdissa. Unka
      Maailman menoa
      288
      791
    9. Voi teitä naisia

      Suudeltiin ja nukuttiin toisissamme kiinni mutta pillua ei tullu, ei edes aamulla. t.38vmies
      Sinkut
      90
      785
    10. Hyvä meininki

      TTP:ssa väkeä tosi runsaasti paikalla. Hyvää ruokaa jälleen ja munkit ja sima erinomaista. Kiitos yrittäjälle! Hieno Vap
      Haapavesi
      22
      718
    Aihe