Jak nastylovat losovací tabulku? – CSS – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Jak nastylovat losovací tabulku? – CSS – Fórum – Programujte.comJak nastylovat losovací tabulku? – CSS – Fórum – Programujte.com

 

Matěj Andrle+1
Grafoman
2. 11. 2014   #1
-
0
-

Dobrý den,
mám obyčejnou tabulku a mám z ní udělat:

http://www.hafnarfjordur.cekuj.net/wp-content/uploads/2010/11/Pavouk.jpg

Nejvíce přemýšlím nad tím, že se vykašlu na border a hodím do td nějaký obrázek s čárami. Jde mi hlavně o širokou podporu prohlížečů... Tedy mám jména soutěžících v prvním sloupci tabulky (každé jméno ohraničeno ze 4 stran - v cíli má být jméno nad jednou čarou) a další zápasy jsou již ve větších buňkách - pracuji s colspan a rowspan - kde buňka pro cílový zápas zabírá již všechny řádky. Demo můžete zkusit zde:

laman.webz.cz/pairing.php

Jak byste dosáhli (klidně i mimo tabulku a CSS) kýženého výsledku?
Děkuji.

Nahlásit jako SPAM
IP: 78.136.159.–
peter
~ Anonymní uživatel
3981 příspěvků
3. 11. 2014   #2
-
0
-

1A
cara nahore + prazdna bunka, cara vlevo + prazdna
4B, cara vlevo a nahore + prazdna, cara vlevo

...

Nahlásit jako SPAM
IP: 2001:718:2601:1f7:2c4d:95...–
peter
~ Anonymní uživatel
3981 příspěvků
3. 11. 2014   #3
-
0
-

Mimochodem, ta stranka ma spatne css. Kdyz zmensis risku okna, abys musel menu rolovat doprava, doleva, tak se to neda a pulka menu treba neni videt.

Nahlásit jako SPAM
IP: 2001:718:2601:1f7:2c4d:95...–
Matěj Andrle+1
Grafoman
3. 11. 2014   #4
-
0
-

#3 peter
Ta stránka není moje - svou nedávám, poněvadž chráním soukromá data... (Ale principem to mám takto.) Z tvého příspěvku vážně netuším, co mám psát do CSS/... Důležitá věc - zákazník to chce tisknout na A4. Pročež to ani nemusí být HTML - potřebuji jen nějak dostat z databáze onoho pavouka... Zákazník si prý s HTML poradí - tak mne napadla tabulka. Vše funguje - mám v PHP algoritmus, který dovede správně seřadit jména a vytvořit zápasový modul - potřebuji to jen nějak zobrazit k tisku...

Nahlásit jako SPAM
IP: 78.136.176.–
peter
~ Anonymní uživatel
3981 příspěvků
4. 11. 2014   #5
-
0
-

To zalezi na tom, jak mas nastaveny prohlizec. Mi se treba stalo pri zobrazeni struktury, ze mi to pri tisku nevytisklo css. Takze by mozna bylo nejlepsi jit do obrazku, pokud to ma jit jako css.
Tak, ten popis jsem se snazil zestrucnit. Carky oddeluji bunky a to ostatni je popis css nastaveny na te bunce.
Cara vlevo nahore se preklada treba jako class = c1, .c1 {border-top:1px solid #f00; border-left:1px solid #f0f;}
Zkus, jestli se ti tohle vytiskne v prohlizecich, ktere pouzivaji lide, pro ktere pavouk je.
http://www.slu.cz/…okove-schema

Přátelé na facebooku jsou jak propisky. Máš jich čtyři sta, ale píšou ti tak tři.

Nahlásit jako SPAM
IP: 2001:718:2601:1f7:48a2:d2...–
Matěj Andrle+1
Grafoman
4. 11. 2014   #6
-
0
-

#5 peter
Klidně budu generovat PNG, PDF, PostScript - cokoliv. Mám v PHP jména a počet buněk ke spojení - stačí mi jen vědět, co z toho vygenerovat... (Aby to dalo tu A4/se nějak stránkovalo.) Mohu kreslit do plátna - mohu cokoliv. Jen nevím jak nejefektivněji generovat pavouka na stránku/stránky... Cíl mise je ten obrázek nahoře.

Nahlásit jako SPAM
IP: 78.136.168.–
Matěj Andrle+1
Grafoman
4. 11. 2014   #7
-
0
-

   

	while($row = $statement->fetch(PDO::FETCH_ASSOC))
		$member[] = "${row["name"]} (${row["grope"]})";

	$rank = 0;
	$header = "";
	$player = array(1);
	$kicked = array(10000);
	$memberCount = count($member);
	$roundCount = ceil(log($memberCount) / log(2));
	$round = array("čtvrtfinále", "semifinále", "finále", "vítěz");

	for ($index = 0; $index < $roundCount; $index++)
		for ($index2 = 0; $index2 < count($player); $index2 += 2)
			array_splice($player, $index2 + 1, 0, $player[$index2] + pow(2, $index));

	$playerCount = count($player);

	for ($index = 0; $index < $playerCount - 1; $index++)
		if ($player[$index] <= $playerCount - $memberCount)
		{
			$nextIndex = $index + 1;

			for ($index2 = 0; $index2 < count($kicked) + 1; $index2++)
				if ($kicked[$index2] > $player[$nextIndex])
				{
					array_splice($kicked, $index2, 0, $player[$nextIndex]);
					break;
				}

			$player[$nextIndex] = 0xFFFF;
		}

	for ($index = 0; $index < count($kicked); $index++)
		array_splice($member, $kicked[$index] - 1, 0, "");

	for ($index = 0; $index < $roundCount + 1; $index++)
		$header = "<th>".(count($round) > 0 ? array_pop($round)."</th>" : ($roundCount + 1 - $index).". kolo</th>").$header;

	echo "<table id='bracket'><tr>", $header, "</tr>";

	for ($index = 0; $index < $playerCount; $index++)
	{
		if ($player[$index] == 0xFFFF)
			continue;

		$argument = "";
		$index2 = $playerCount - $index;

		if ($player[$index + 1] == 0xFFFF)
			$argument = " colspan=\"2\"";

		echo "<tr><td$argument><span class=\"rank color", $rank++ % 2, "\">", $rank, "</span>", $member[$player[$index] - 1], "</td>";

		while ($index2 % 2 == 0)
		{
			$argumentValue = 2 * ($playerCount - $index) / $index2;
			$l = $index + $argumentValue;

			for ($k = $index; $k < $l; $k++)
				if ($player[$k] == 0xFFFF)
					$argumentValue--;

			if ($index2 != $playerCount - $index || !$argument)
				echo '<td rowspan="', $argumentValue, '"></td>';

			$index2 /= 2;
		}

		echo "</tr>";
	}

	echo "</table>";
Nahlásit jako SPAM
IP: 78.136.168.–
peter
~ Anonymní uživatel
3981 příspěvků
5. 11. 2014   #8
-
0
-

K tomu php kodu bych mel sice par pripominek (treba echo nahradit promennymi), ale v tematu css je to off topic.
Vygeneruj tabulku, pak to ostyluj a uvidis, na jaka mista v php co dopsat. Velmi nadejne se da Pouzivat modulo (%) a rotace (>> <<) nebo nasobeni, deleni (* /)... radku%((2+sloupec)<<1) nebo radku%((2+sloupec)*2)

Ptal ses, jak to ostylovat. Css zadnou tabulku generovat neumi.

Nahlásit jako SPAM
IP: 2001:718:2601:1f7:515e:26...–
peter
~ Anonymní uživatel
3981 příspěvků
5. 11. 2014   #9
-
0
-

Ted mne jeste napada, ale zatim jsem to pouzil jen na sude liche radky, ze by to slo v html5 pres css pomoci vzorcu pro n-child.

Nahlásit jako SPAM
IP: 2001:718:2601:1f7:515e:26...–
peter
~ Anonymní uživatel
3981 příspěvků
5. 11. 2014   #10
-
0
-
Nahlásit jako SPAM
IP: 2001:718:2601:1f7:515e:26...–
Matěj Andrle+1
Grafoman
5. 11. 2014   #11
-
0
-

#10 peter
Však tabulku mám... Chci multiplatformní řešení - CSS3 věci nepodporuje nějak moc prohlížečů... (Především právě selektory.)

Nahlásit jako SPAM
IP: 78.136.178.–
peter
~ Anonymní uživatel
3981 příspěvků
6. 11. 2014   #12
-
0
-

Tak, kdyz to nechces v css3, tak to pak klasicky temi dvema-tremi tridami, co jsem ti vypsal, jake vlastnosti ma kazda mit uz v prvnim prispevku.

Nahlásit jako SPAM
IP: 193.84.207.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 2 hosté

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý