Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno HTML - <frameset...>...

Dobrý deň,

momentálne sa hrám kus s html, teda s tvorbou webstránok, dám vam sem kúsok kódu:

<html>

<head>
    <meta charset="UTF-8">
    <title>
        Web
    </title>
    <frameset rows="100,*">
        <frame src="hlavicka.html" name="hlavicka" scrolling="no" noresize>
            <frameset cols="170,*,150">
                <frame src="menu.html" name="menu" scrolling="no" noresize>
                    <frame src="obs/uvod.html" name="obsah" noresize>
                        <frame src="reklama.html" name="reklama" scrolling="no" noresize>
                        </frame>
                    </frame>
                </frame>
            </frameset>
        </frame>
    </frameset>
</head>

</html>

Vím že sa neodporúča velmi delať rozloženie webstránky pomocou framou, ale napadlo ma ako skryť tie frami aby tam boly ale jakoby neviditelné (radu frameborder="0" vynechajte)
Prípadne jaký iný spôsob než frameset by ste mi odporučily ak chci mať zvyšok (obsah) webstránky mimo súboru index.html, samozrejme klidne aj s CSS nebo JS, no nejvíc bych rád to rešil cez frameset. Zvyšok mám už prakticky takmer hotový.
Dík vopred za help.

Předmět Autor Datum
Framy byly zastaralé už před 15 lety. Fakt je nepoužívej. Tohle se obvykle řeší na serveru třeba pom…
Wikan 13.06.2016 18:32
Wikan
To vím že je to zastaralé, to mi hovoriť nemusíš.
Mlocik97 13.06.2016 18:43
Mlocik97
Jak neviditelné ? Jestli nechces aby sli videt tak pres border=0 frameborder=no framespacing=0, ale…
XoXoChanel 13.06.2016 18:35
XoXoChanel
dik skusim.
Mlocik97 13.06.2016 18:38
Mlocik97
Takle by to mohlo byt (ale nechavam radeji na overeni) : <FRAMESET ROWS="100%,*" FRAMEBORDER=NO FRA…
XoXoChanel 13.06.2016 18:39
XoXoChanel
funguje to, máš u mňa virtuálne :beer:
Mlocik97 13.06.2016 18:41
Mlocik97
hele, neviete o nejakém jiném rešení než <frameset> tak aby obsah byl mimo súboru index.html tzv. ab…
Mlocik97 12.07.2016 11:12
Mlocik97
Nemohu než konstatovat, že úsilí a výzkum Ti přirozenou cestou ukazuje na nezbytnost použití PHP či…
hynajs 12.07.2016 13:19
hynajs
mm,... ale pomocou framesetu to ide aj bez php nebo jiného serverového riešenia.
Mlocik97 12.07.2016 13:42
Mlocik97
Zkus si tedy aspoň pročíst některé z těchto odkazů: https://www.google.cz/?gws_rd=ssl#q=frameset+vs…
hynajs 13.07.2016 09:02
hynajs
ja viem,.... proto hledám iné riešenie,... neco podobne jak mi dole napsal IQ37, len tak aby rozlože…
Mlocik97 13.07.2016 10:13
Mlocik97
Taky to jde takto: <div style="height: 200px; border: 1px silver solid"> hlavička</div> <div style=…
IQ37 12.07.2016 15:57
IQ37
díky, po nejakých úpravách to funguje docela v poho, len to musím správne napasovať. Zatial mi to vy…
Mlocik97 12.07.2016 17:09
Mlocik97
tak momentálne mám to takto: index.html <html> <head> <meta charset="UTF-8"> <title> Web </title>…
Mlocik97 28.08.2016 16:26
Mlocik97
https://cs.webdev.wiki/howto/trisloupcovy-layout.h tml
Wikan 28.08.2016 16:39
Wikan
díky,... "margin-left a margin-right" by ma nenapadlo. Ostatne by mal zaujímalo že či to nejde čisto…
Mlocik97 28.08.2016 17:18
Mlocik97
ešte mám takú otázku, je lepší používať .class alebo #id ?
Mlocik97 28.08.2016 18:03
Mlocik97
ID identifikuje jeden konkrétní element. Stejnou třídu může mít více elementů a jeden element může m…
Wikan 28.08.2016 18:06
Wikan
v mojom prípade bys použil teda ktoré?
Mlocik97 28.08.2016 18:07
Mlocik97
Pokud tím chceš označit jeden konkrétní prvek tak ID.
Wikan 28.08.2016 18:09
Wikan
no ja chci v body mať iba <div id=...> <iframe src...> </iframe> </div> nebudu mát v divu další di…
Mlocik97 28.08.2016 18:13
Mlocik97
A máš nějaký důvod, proč to tak nechceš mít?
Wikan 28.08.2016 18:15
Wikan
nechápu proč by to zas tak malo byť,... podla mna nemá zmysel definovať v css neco pre triedu hlavic…
Mlocik97 28.08.2016 18:19
Mlocik97
Áno, do jednej veľkej krabice napcháš niekoľko ďalších, ktoré budú v rámci tej jednej veľkej rôzne u…
pme 28.08.2016 18:20
pme
jako v prípade viacerých,.. jak píšeš niekolko, vtedy jo,.... ale ja mám pre jeden div iba jeden ifr…
Mlocik97 28.08.2016 18:22
Mlocik97
Až sa niekedy dopracuješ k tvorbe "responzívneho" webu...pochopíš, že rozloženie elementov na stránk…
pme 28.08.2016 18:25
pme
takže práve pre bootstrap budu musieť použiť class? nekde jsem videl toto: <div class="row"> <div c…
Mlocik97 28.08.2016 18:26
Mlocik97
Menej slov a viac študovania by to chcelo... bootstrap
pme 28.08.2016 18:28
pme
Bootstrap je celý postaven na třídách.
Wikan 28.08.2016 18:29
Wikan
chapu.... takže aj napriek tomu že zatial budem mať iba 1 prvok v jednom divu, tak mám použiť class…
Mlocik97 28.08.2016 18:30
Mlocik97
Až budeš chtít použít bootstrap, tak stejně ty stránky budeš muset kompletně překopat.
Wikan 28.08.2016 18:31
Wikan
ok,... ale chcel by som zachovať že celý obsah budem mať mimo indexu a v indexu chcem mať iba zadefi…
Mlocik97 28.08.2016 18:35
Mlocik97
Bootstrap použiješ na ty vnitřní stránky. Na samotném indexu se toho moc změnit nedá.
Wikan 28.08.2016 18:37
Wikan
a když tak rozmýšlam,... tak teda vätšinou class dokáže nahradiť id ale naopak id nevie nahradiť cla…
Mlocik97 28.08.2016 18:51
Mlocik97
Není možné použít stejné ID vícekrát. A nikdy není nutné ho použít.
Wikan 28.08.2016 18:59
Wikan
díky,... ste ma naučily tu za pár mnút viac než škola za 3 roky... s html jak jsem psal pracuju doc…
Mlocik97 28.08.2016 19:06
Mlocik97
To ses v té škole dost flákal, tohle je záležitost tak první přednášky. A uhodl, nechtěl bych.
Wikan 28.08.2016 19:14
Wikan
Smysl to má a velký.
Wikan 28.08.2016 18:22
Wikan
jo,... takže: <html> <head> <meta charset="UTF-8"> <title> Web </title> <link rel="stylesheet" type…
Mlocik97 28.08.2016 18:25
Mlocik97
Tak mám to hotové, kód mám presne takto: index.html <html> <head> <meta charset="UTF-8"> <title> W…
Mlocik97 29.08.2016 13:43
Mlocik97
nejak definovať pre stĺpce aby dĺžka byla "100% - 100px"... Lze zařídit pomocí calc() v CSS, viz č…
Pavel 29.08.2016 21:19
Pavel
Na calc bacha. Není podporovaný v Android browseru 4.x.
Wikan 29.08.2016 21:22
Wikan
Aha, díky za rozšíření obzorů. Netušil jsem.
Pavel 29.08.2016 21:38
Pavel
tak mám momentálne tento kód: index.html <html> <head> <meta charset="UTF-8"> <title> Web </title>… poslední
Mlocik97 29.08.2016 22:13
Mlocik97

hele, neviete o nejakém jiném rešení než <frameset> tak aby obsah byl mimo súboru index.html tzv. aby v index.html som mal iba head v ňom by sa odkazovalo na ostatné súbory ktoré by už obsahovaly aj body? (abych body vôbec v index.html nemal) cez div čo jsem koukal tak obsah byl taky v index.html

ja viem,.... proto hledám iné riešenie,... neco podobne jak mi dole napsal IQ37, len tak aby rozloženie stránky som mal totožné jak hore pri framesetu. Taktiež viem že pri framesetu když se preklikám na nejakú podstránku a následne pošlu URL, tak to načíta aj tak hlavnú stránku a nie podstránku.

Taky to jde takto:

<div style="height: 200px; border: 1px silver solid"> hlavička</div>
<div style="float:left; width: 25%;"><iframe src="soubor.html"></iframe></div>
<div style="float:left; width: 50%"><iframe src="soubor.html"></iframe></div>
<div style="float:right; width: 25%;"><iframe src="soubor.html"></iframe></div>

tak momentálne mám to takto:

index.html

<html>

<head>
    <meta charset="UTF-8">
    <title>
        Web
    </title>
    <link rel="stylesheet" type="text/css" href="style.css">
</head>

<body>
    <div id="hlavicka">
        <iframe src="hlavicka.html" width="100%" height="100%">
        </iframe>
    </div>
    <div id="menu">
        <iframe src="menu.html" width="100%" height="100%">
        </iframe>
    </div>
    <div id="obsah">
        <iframe src="obs/uvod.html" width="100%" height="100%">
        </iframe>
    </div>
    <div id="reklama">
        <iframe src="reklama.html" width="100%" height="100%">
        </iframe>
    </div>
</body>

</html>

style.css

#hlavicka {position: relative; width: 100%; height: 100px; top: 0px; left: 0px}
#menu {position: relative; width: 200px; top: 0px; left: 0px}
#obsah {position: relative; width: *; top: 0px; left: 0px}
#reklama {position: relative; width: 150px; top: 0px; left: 0px}

už len potrebujem aby iframi menu, obsah a reklama boli vedla seba a ne podsebou, pomocou absolute som to vedel spraviť, ale blbo sa to pasovalo, pomocou relative mam ale kusok problem s tým že práve všetko mám pod sebou. Všetok obsah už mám hotový. Teraz když tak rozmýšlam tak podla IQ37 bych to mohol spraviť, je to podla Vás dobrá volba? Do budúcna bych chtel porešiť bootstrap, když pak zmením rozloženie.

ID identifikuje jeden konkrétní element. Stejnou třídu může mít více elementů a jeden element může mít více tříd. A může mít klidně zároveň ID i třídy.
Vždy záleží na tom, čeho chceš dosáhnout. Ani jedno není lepší či horší, slouží to prostě k něčemu jinému.

no ja chci v body mať iba

<div id=...>
    <iframe src...>
    </iframe>
</div>

nebudu mát v divu další div, jak jsem si všimnul v tvojom linku 8 až 10 riadok,... tzv. div v divu.

<div class="obal-stranky">
    <div class="hlavicka">
        <iframe ...>
        </iframe>
    </div>
</div>

tak to spravim asi s tým ID,... chci mať celé rozloženie na jednej vrstve, teda nechci mať jeden div vo vnútri dalšieho divu.

nechápu proč by to zas tak malo byť,... podla mna nemá zmysel definovať v css neco pre triedu hlavicka, když už je to nadefinované v "obal-stranky".... ani nevím načo by sa to využilo,... prijde mi to asi jako kdybych televizor zabalený v krabici napchal do dalšej krabice a tu krabici do dalšej.... neviem aký to má smysl,... možno jedine ak bych do jednej "velkej" vopchal viacero "menších" krabíc. aspoň ja to tak chápu, možno sa mýlim. tym bych mal všetko pokope ale zároveň pri rozbalení bych hned vedel tato časť krabíc v tej krabici sú televízory a tá druhá časť (iná farba) sú vysávače.

jako v prípade viacerých,.. jak píšeš niekolko, vtedy jo,.... ale ja mám pre jeden div iba jeden iframe a to vše.... ostatok sa už načitáva ako obsah do iframov. Takže mám teda použiť ID, v takom prípade. Takže som to pochopil správne, v prípade jednej krabice mám použiť ID, v prípade viacerých mám použiť class.

ok,... ale chcel by som zachovať že celý obsah budem mať mimo indexu a v indexu chcem mať iba zadefinované že "toto z tochto súboru sa má načítať sem",... a bootstrap by iba menil velkosť iframov a to či majú byť vedla seba, alebo pod sebou,....

a když tak rozmýšlam,... tak teda vätšinou class dokáže nahradiť id ale naopak id nevie nahradiť class...? tzv, jeden prvok v jednej krabicy mohu použiť aj id aj class,... ale viac prvkov v jednej krabici mohu použiť len class ale nemohu id, že? ak jo tak som to celé už pochopil. napsal jsem vätšinou lebo jsem nekde četl že su situace kde je nutno použiť id a nie class, jinak nieje validný. https://diskuse.jakpsatweb.cz/?action=vthread&foru m=7&topic=33870 a že ID má vyššiu váhu

díky,... ste ma naučily tu za pár mnút viac než škola za 3 roky...

s html jak jsem psal pracuju docela krátko, a ešte aj to nie úplne aktívne,...

hele, jsem kus lenivej dnes rozmyšlať,... nechtel bys podla toho čo jsem psal hore, mi napsať "celý" index.html (u indexu teda stačí vlastne len body) a style.css zde a dať sem?,... ja vím, jsem asi príliš "otravnej",... jinak máš u mňa virtuálne :beer: jinak ak ne, tak zajtra si to asi porobím.

jo,... takže:

<html>

<head>
    <meta charset="UTF-8">
    <title>
        Web
    </title>
    <link rel="stylesheet" type="text/css" href="style.css">
</head>

<body>
    <div id="hlavicka">
        <iframe src="hlavicka.html" width="100%" height="100%">
        </iframe>
    </div>
    <div id="menu">
        <iframe src="menu.html" width="100%" height="100%">
        </iframe>
    </div>
    <div id="obsah">
        <iframe src="obs/uvod.html" width="100%" height="100%">
        </iframe>
    </div>
    <div id="reklama">
        <iframe src="reklama.html" width="100%" height="100%">
        </iframe>
    </div>
</body>

</html>

toto mám správne a iba mám zmeniť css,... ale zachovať #hlavicka{...}

Tak mám to hotové, kód mám presne takto:

index.html

<html>

<head>
    <meta charset="UTF-8">
    <title>
        Web
    </title>
    <link rel="stylesheet" type="text/css" href="style.css">
</head>

<body>
    <div class="web">
        <div class="hlavicka">
            <iframe src="hlavicka.html" width="100%" height="100%">
            </iframe>
        </div>
        <div class="menu">
            <iframe src="menu.html" width="100%" height="100%">
            </iframe>
        </div>
        <div class="reklama">
            <iframe src="reklama.html" width="100%" height="100%">
            </iframe>
        </div>
        <div class="obsah">
            <iframe src="obs/uvod.html" width="100%" height="100%">
            </iframe>
        </div>
    </div>
</body>

</html>

style.css

.web{
    width: 100%;
    margin: auto;
    border: 1px #f2f2f2;
}
.hlavicka{
    width: 100%;
    height: 100px;
}
.menu{
    width: 200px;
    height: 100%;
    float: left;
}
.reklama{
    width: 150px;
    height: 100%;
    float: right;
}
.obsah{
    margin-left: 200px;
    margin-right: 150px;
}

dál bych potreboval nejak definovať pre stĺpce aby dĺžka byla "100% - 100px"... alebo ešte lepšie nejak tak aby slpce končily presne jak končí obrazovka, tzv. nebolo scrollovanie teda krom vínimky že by som scrollovanie mal iba vo framu "obsah".

tak mám momentálne tento kód:

index.html

<html>

<head>
    <meta charset="UTF-8">
    <title>
        Web
    </title>
    <link rel="stylesheet" type="text/css" href="style.css">
</head>

<body>
    <div class="web">
        <div id="hlavicka">
            <iframe src="hlavicka.html" width="100%" height="100%">
            </iframe>
        </div>
        <div class="menu" id="horizontal-menu">
            <iframe src="horizontal-menu.html" width="100%" height="100%">
            </iframe>
        </div>
        <div class="content">
            <div class="menu" id="vertical-menu">
                <iframe src="vertical-menu.html" width="100%" height="100%">
                </iframe>
            </div>
            <div class="obsah">
                <div class="menu" id="obs">
                    <iframe src="obs/uvod.html" width="100%" height="100%">
                    </iframe>
                </div>
                <div id="copyright">
                    <iframe src="copyright.html" width="100%" height="100%">
                    </iframe>
                </div>
            </div>
            <div id="right-sidebar">
                <iframe src="right-sidebar.html" width="100%" height="100%">
                </iframe>
            </div>
        </div>
    </div>
</body>

</html>

style.css

.web{
    position: relative;
    height: 100%;
    width: 100%;
}
#hlavicka{
    position: relative;
    height: 100px;
    width: 100%;
}
#horizontal-menu{
    position: relative;
    height: 40px;
    width: 100%;
}
.content{
    position: relative;
    height: calc(100% - 140px);
    width: 100%;
}
#vertical-menu{
    position: relative;
    height: calc(100%);
    width: 200px;
    top: 0px;
    left: 0px;
    float: left;
}
.obsah{
    position: relative;
    height: calc(100%);
    width: calc(100% - 350px);
    top: 0px;
    left: 0px;
    float: left;
}
#obs{
    position: relative;
    height: calc(100% - 20px);
    width: 100%;
    top: 0px;
    left: 0px;
    float: left;
}
#copyright{
    position: relative;
    height: 20px;
    width: 100%;
    top: 0px;
    left: 0px;
}
#right-sidebar{
    position: relative;
    height: 100%;
    width: 150px;
    top: 0px;
    right: 0px;
    float: right;
}

a funguje to dokonale, presne tak jak chci, aspoň zatím v prohlížeči chrome, GS a FF,... presne je rozloženie také aké presne chcem....

[img=http://s18.postimg.org/jplrpt5bd/screenshot_320.png]http://s18.postimg.org/jplrpt5bd/screenshot_320.pn g[/img]

Zpět do poradny Odpovědět na původní otázku Nahoru