• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

tabela w css czy html

Object Storage Arubacloud
+1 głos
738 wizyt
pytanie zadane 6 listopada 2016 w HTML i CSS przez webpasion Nowicjusz (230 p.)
edycja 6 listopada 2016 przez ScriptyChris

Witam wszystkich !

Staram się stworzyć drzewo genealogiczne mojej ukochanej rodzinki i pomyślałem sobie, że zrobię to za pomocą kodu html/css. Wiem, że istnieją do tworzenia takich drzew specjalne programy, ale ja chce trochę poćwiczyć, więc proszę się nie czepiać ;)

Chcę uzyskać mniej więcej taki oto wygląd (oczywiście drzewo nie jest kompletne)

spokojnie już tłumaczę...  to co widać u góry to obraz w formacie .png zrobiony  GIMP-ie, ale docelowa taki efekt chciałbym uzyskać za pomocą kodu html/css

Na początku chciałem wykorzystać znacznik <TABLE></TABLE> oczywiście osadzony w div-ach

<div class="container">       
        <div id="block1">    
             <table >            
                 <tr>
                     <td>block1</td>
                 </tr>
            </table>            
        </div>         
            <hr width="800px">            
        <div id="block2">    
            <table>            
                <tr>
                    <td>block2</td>
                 </tr>
        </table>            
        </div>

tam gdzie jest wpisane block 1 i block2 będą personalia konkretnego członka rodziny. Od strony stylizacji wygląda to tak:

.container{
    background-color: white;
    margin-left: 2%;    
    margin-top: 2%;    
    margin-right: 2%;
    height: auto;
    border-right: 1px solid #330000;
    border-left: 1px solid #666666;
    border-top: 1px solid #666666;
    border-bottom: 1px solid #666666;
}
#block1 table{
    margin-top: 800px;
    margin-bottom: 20px;
    margin-left: 50px;
    width: 100px;    
    text-align: center;
}
#block2 table{
    margin-top: 0px;
    margin-bottom: 20px;
    margin-left: 350px;
    text-align: center;
}
table{    
    border-right: 1px solid #330000;
    border-left: 1px solid #666666;
    border-top: 1px solid #666666;
    border-bottom: 1px solid #666666;
}
table:hover{
    background-color: grey;
    cursor: pointer;
}

Czy może lepiej w <div class="container"> osadzić elementy blokowe tzn inne div-y, w których umieszczę poszczególne personalia danego członka rodziny i wystylizuje to tak żeby dookoła nazwiska było obramowanie i inne tło po najechaniu myszą ?

I jak zrobić pionową linie ? Poziomą to wiem <hr></hr>, ale pionową ?  border-left: 1px solid color ???

Dzięki za podpowiedzi.

1
komentarz 6 listopada 2016 przez ScriptyChris Mędrzec (190,190 p.)

I jak zrobić pionową linie ?

Choćby pseudoelementem ::before lub ::after

http://codepen.io/ChrissP92/pen/yVyvNL

komentarz 7 listopada 2016 przez webpasion Nowicjusz (230 p.)
przydatne dzięki

2 odpowiedzi

+3 głosów
odpowiedź 6 listopada 2016 przez Patrycjerz Mędrzec (192,320 p.)

Tabele istnieją do prezentowania treści w formie prostokątnej siatki - drzewo genealogiczne to bardziej graf i tworzenie go za pomocą table mija się z celem. Traci na tym m.in. semantyka kodu, ponieważ tworzyłbyś puste komórki jedynie dla linii łączących członków rodziny.

Radzę ci użyć w tym przypadku grafiki wektorowej - skalowalność, wsparcie od strony przeglądarek i łatwość ewentualnej modyfikacji sprawiają, że jest to idealne rozwiązanie do tworzenia grafów.

komentarz 7 listopada 2016 przez webpasion Nowicjusz (230 p.)
no tak, ale jak stworze obrazek drzewa to chyba nie bardzo będę mógł go "edytować" za pomocą stylów css ?

Chodzi mi o uzyskanie chociażby efektu :hover po najechaniu myszą na nazwisko przodka...

Wiem, że mogę nanieść tekst (nazwisko przodka) na taki obrazek, ale jak to zrobię to przy zmianie rozdzielczości nazwisko nie będzie się pokrywać z wyznaczonym miejscem na drzewie... (albo ja nie umie tego zrobić) :/
komentarz 9 listopada 2016 przez webpasion Nowicjusz (230 p.)

ok kumam... zrobiłem to w css div-ami

<div class="DownL"></div><!-- linia pozioma-->
        <div id="block1">
            <h3>??</h3>
        </div>

h3{
    border-right: 1px solid #330000;
    border-left: 1px solid #666666;
    border-top: 1px solid #666666;
    border-bottom: 1px solid #666666;
    background-color:      #717171;
    padding: 5px;
    font-size: 15px;
    font-weight: normal;
    color:white;
}
h3:hover{
    background-color: #afafaf;
    cursor: pointer;
    color:red;
}

#block1{
    margin-top: 800px;
    margin-bottom: 20px;
    margin-left: 40%;
    width: 100px;    
    text-align: center;
}
.DownL{
    border-bottom: 1px solid #666666;
    width: 30%;
    margin-top: 780px;
    margin-left: 28%;
    position: absolute;
}

 

0 głosów
odpowiedź 6 listopada 2016 przez Przemek Zembrzuski Gaduła (3,240 p.)
Część,

Nie wiem czy przy tak dużej ilości tabelek nie będziesz miał bałaganu w kodzie html i radziłbym użyć divy do tego. A jeżeli chodzi o pionowa linie to możesz np zrobić diva o wysokości równej linii jaką chcesz uzyskać,szerokości 1 px i czarnym tle, albo na hr zastosować transforme rotate.
komentarz 6 listopada 2016 przez matteo.web Użytkownik (700 p.)
Też polecam divy jak chcesz już robić w ten sposób. Nie wyobrażam sobie pisania tego w tabelach, to było by ćwiczenie cierpliwości chyba i samokontroli (żeby nie wyrzucić laptopa po p\dłuższej chwili), a nie programowania :)

Podobne pytania

0 głosów
3 odpowiedzi 160 wizyt
pytanie zadane 22 maja 2019 w HTML i CSS przez mats19 Nowicjusz (180 p.)
0 głosów
0 odpowiedzi 312 wizyt
pytanie zadane 6 grudnia 2016 w HTML i CSS przez wanderer Gaduła (3,710 p.)
0 głosów
3 odpowiedzi 266 wizyt
pytanie zadane 13 listopada 2018 w HTML i CSS przez Angelika Jakubczak Nowicjusz (220 p.)

92,555 zapytań

141,404 odpowiedzi

319,557 komentarzy

61,940 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...