Diskuze: Rolovací "div" s umiestnenim na spodku stranky
V předchozím kvízu, Online test znalostí HTML a CSS, jsme si ověřili nabyté zkušenosti z kurzu.

Člen

Zobrazeno 26 zpráv z 26.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí HTML a CSS, jsme si ověřili nabyté zkušenosti z kurzu.
Ja bych pouzil fixed, bottom nebo margin-bottom. fixed funguje tak, ze
ignoruje predesle styly a pozice. Takze, pri zmene okna se to obvykle rozsype,
pokud mu nedas pozici zleva. Nebo mozna margin-left:auto, margin:right:auto
(centrovani).
Nevim, zda by pomohlo dat ten fixed do bloku s position:relative. Myslim, ze ne,
ze fixed je vuci cele strance.
Zkratka, fixed se pouziva bud jako pruh nebo presna pozice (vetsinou left nebo
right:0 + top nenulove nebo bottom nenulove).
Muzes pro centrovani pouzit fintu s 50% pozici. left:50%; width:300px; margin-left:-150px; (polovina sirky vnitrku).
Tusim, ze pro pretekani obsahu je nutna block s position:relative a v nem
blok s vyskou + overflow. Nebo, tak nejak. na jakpsatweb.cz v css, priklady to
tam nekde je.
https://www.jakpsatweb.cz/…ss-orez.html
Tim chci rici, ze s fixed jsem to nikdy nezkousel pouzivat.
Sticky, to nepouzival, ale, to mozna funguje dobre pro zahlavi tabulky, aby
jsi ho neztratila. pri vetsi tabulce. Jakoze mas tabulku, kdyz zarolujes, tak
mas pryc zahlavi a nevis, ktery sloupec je ktery. Tak, to by mohlo resit sticky,
ze to zahlavi bude rolovat s tabulkou. Ale, na mne je to prilis nove, ja to
resival pres fixed
pri position: fixed; mozem nastavit bottom: 0; a margin-bottom: 400px; co by mi vyhovovalo, nakolko div bude stale odspodu umiestneny na rovnakej pozicii aj pri zmensenom okne prehliadaca, tu mi treba doriesit len to posuvanie div-u z vrchu a z lavej a pravej strany, aby sa mi posuval len vo vyske obsahu.
pozerala som takyto priklad, kde sa rolovaci div pohybuje len vo vyske obsahu, ale tam to je riesene nejakym obtekanim z lava a chova sa to responzivne, z toho by sa nedalo vychadzat ?
ja mam pevnu vysku hlavicky 900px a pevnu vysku päty 400px, neviem, ci je tu mozne pouzit calc percentualne na vyratanie vysky minus vsetky prvky s pevnou poziciou
Calc nepouzivam, ale asi by to slo.
U nas pouzivame redakcni system postaveny na bootstrapu. Asi je tam nejaky js
plugin, ktery dela to, ze posouva hlavicku a zmensi ji, kdyz je niz nez nahore.
Pravdepodobne to kluci nekde vygooglovali Ale, nefunguji nam spravne kotvy.
Mam pocit, ze by to mohlo byt tim menu. Ale, nemam to nastarost
Ja bych mel k webu asi 1000
pripominek a oprav celeho programu. Poslali jsme asi 100. do dneska se vyresilo
10. A sam tam pristup nemam. Prej maji cely redakcni system v databazi, takze
oprava by byla narocna. To byl zas cisi genialni napad
https://www.slu.cz/fpf/cz/
Ja jen, ze 900px hlavicka je dost narocny pocin a zobrazovat to treba na mobilu
muze byt docela problem. Resp, uzivateli misto obsahu nabidnes, ze musi rolovat
V podstate, fixed jsem pouzival jen tak, ze jsem si udelal prostor pomoci
marginu nebo padingu a na tom mel fixovany objekt. Ale, tak to asi resis taky
------------------ fixovany div----|
------------------..................|
|.bile misto....|...................|
|---------------|------------------
|.text..........|
|.text..........|
hlavicka stranky je robustna, to je fakt, ale kedze je to stranka o hre, tak
ta grafika udrzuje mysticku atmosferu nazvu klubu, pri osobnej stranke by som
samozrejme takto neblaznila v
podstate position: sticky riesi u mna to, ze element je v danom
boxe na relativnej pozicii a odtial sa mi nepohne nikam inam, len uz nechapem v
dnesnej dobe to, k comu je tisic vlastnosti na tisic elementov v ramci
pozicovania a nie je iba jeden element s viacerymi vlastnostami, napr.
position: a k tomu vsetky vlastnosti, ci je to fixed, absolute,
relative atd ? a takto je nutne vymyslat vselijake CSS tricks uplne zbytocne
ale chcem tento moj problem s rolovacim div doriesit spravne, ako som pisala na zaciatku vlakna, teraz mi je prakticky jedno, ze som zbytocne strihala grafiku znovu, aby som mala osobitne box pre rolovaci div a pritom budem napr. musiet pouzit position: fixed, ide mi o spravny vysledok
Jo, ty chces asi docilit to, aby fixed position bylo jen ve vybrane oblasti.
Obavam se, ze na to neni css stavene Ono je hrozne tezke te pochopit a ten kod
Zluty ramecek na bilem pozadi je
fakt skvele zvyrazneni toho sticky divu. Podbarvil jsem si cely blok
background-color, radeji
google = css position fixed to a location within an area
Ale, ty ten div preci muzes umisti Mimo tu oblast a dopozicovat si to. A pridat z-index na prekryti.
a<br>
b<br>
c<br>
<div style="width:100px; height:100px; border:2px solid #f00;">
<div style="width:100px; height:100px; background: #fcf; overflow-y:scroll; overflow-x:none;">text<br>q<br>w<br>e<br>e<br>e<br>e<br></div>
<div style="width:100px; height:30px; background: #ffc; position:relative; top:-30px;">text</div>
</div>
Nevyhoda je, ze ti na tom nepujde scrolovat s tim textem. Leda, to dat do
pozadi a pak na to zas nepujde klikat A to uz by pak mohlo byt jako obrazek na pozadi.
https://developer.mozilla.org/…d-attachment
to mi je jasne, ze pozicia fixed alebo absolute moze byt volana z ktorejkolvek casti body, ja som si len vyhradila mriezkou oblast, v ktorej sa bude rolovaci div pohybovat, pretoze pre pripad pozicie sticky je to idealne .. riesit to mozem len dvomi sposobmi, bud sticky alebo fixed .. obsah ako taky sa nebude scrollovat posuvnou listou, aby som to teda upresnila uplne a jedine, co sa bude scrollovat, je scrollovaci div s elementom (ornamentove graficke tlacidlo)
dala som to plnymi farbami, aby to bolo viditelne, obsah je teda zeleny, vyrez, v ktorom sa bude pohybovat scrollovaci div je fuchsia a samotny srollovaci div je zlty
Test (vycistit cache prehliadaca)
asi sme sa nepochopili spravne, scrollovaci div (zlty) sa musi pohybovat v
scrollovacej oblasti (fuchsia) a pritom by som chcela, aby bol stale prilepeny v
spodnej casti scrollovacej oblasti a roloval sa len v nej a aby pri zmenseni
okna prehliadaca nevybocoval do lavej alebo pravej strany
pozerala som uz desiatky rieseni, kde to kazdy ospevoval ako to spravne riesenie a pritom, ked som zmensila okno prehliadaca, tak sa rolovacie divy pohybovali do stran, cize sa percentualne neprisposovali rozliseniu obrazovky, co je nespravne .. videla som aj nejake JS riesenia, ale JS neovladam, to vies dobre, ale touto formou by sa urcite dali vypocitat vzdialenosti od scrollovacieho divu, aby sa prisposoval rozliseniu obrazovky a neuhybal do stran a pohyboval sa pri scrollovaci len v pozadovanej oblasti, pretoze ja mam nastavenu pevnu vysku hlavicky a päty a pevnu sirku obsahu (bocne strany nemaju pevnu sirku)
neco z tohoto by neslo pouzit?
https://elad.medium.com/…54cd01dc2d46
toto je presne taky isty pripad, ako mam ja, je to funkcne, pretoze sa element s position: sticky; nachadza v rolovacom boxe, je lepivy top:0; a teda sa scrolluje .. no a to je ten problem, ze funguje prave len s poziciou hore pod nadradenym elementom .. snazila som sa najst nieco o tom, ci je mozne ho nejako prinutit chovat sa podla kalkulacie vysky, ale asi nie .. premyslala som nad tym, ze by som nad neho dala nadradeny element, akysi posuvac, ktory by menil svoju vysku podla rozlisenia obrazovky a tym padom by sa sticky choval podla neho, pretoze by sa na neho stale lepil so svojou urcenou poziciou top:0; .. ale to je prave ten problem, ze neviem prist na to, ako zariadit taketo chovanie nadradeneho div-u, ktory by ho podla vysky posuval
ked si to predstavim, tak neviem, ci je to vobec mozne, pretoze ak by nadradeny kontajner bol umiestneny relativne v rolovacom boxe a mal by zatlacit element so sticky poziciou do spodnej casti zarovno s obsahom, ako by ho potom uvolnoval, aby sa scrolloval nahor ? .. je nieco take mozne, aby nadradeny kontajner stracal svoju vysku alebo margin a padding podla vypocitanej vysky pri scrollovani ?
Nakoniec som prisla na to, ze riesenie je v mojom pripade uplne jednoduche a ze je mozne prinutit sticky scrollovat s prilepenou poziciou v spodnej casti urciteho vyrezu sablony.
CSS:
.parent {
position: relative;
display: flex;
}
.sticky {
align-self: flex-end;
position: -webkit-sticky; /*prehliadac Safari*/
position: sticky;
bottom: 0;
width: 100%;
height: 100px;
}
v mojom pripade bol v HTML parent-om:
<div class="rolovaci-box">
Výsledný test (Zmazat cache prehliadaca)
Spracovala som jeden komplexny priklad, kde je vidiet, ako pracuje sticky prilepeny v lavom paneli nahor a v pravom paneli nadol.
<!DOCTYPE html>
<head>
<title>Sticky top and bottom</title>
<style>
html, body {height: 100%; margin: 0;}
/* Zakladna sablona stranky */
.container {
display: grid;
width: 100%;
height: 100%;
grid-template-areas: "header header header"
"left main right"
"footer footer footer";
grid-template-columns: 250px minmax(500px, 1fr) 250px;
grid-template-rows: 100px 1fr 100px;
gap: 0;
}
.header {grid-area: header; background: lightblue;}
.left {grid-area: left; background: green;}
.main {grid-area: main;}
.right {grid-area: right; display: flex; background: green;}
.footer {grid-area: footer; background: lightblue;}
/* Doplnkove elementy */
.content {
width: 100%;
height: 300vh;
}
.sticky-top {
position: sticky;
width: 100%;
height: 200px;
top: 0;
background: yellow;
}
.sticky-bottom {
position: sticky;
align-self: flex-end;
width: 100%;
height: 200px;
bottom: 0;
background: yellow;
}
</style>
</head>
<body>
<div class="container">
<div class="header">header</div>
<div class="left">
<div class="sticky-top">Sticky TOP</div>
</div>
<div class="main">
<div class="content">content</div>
</div>
<div class="right">
<div class="sticky-bottom">Sticky BOTTOM</div>
</div>
<div class="footer">footer</div>
</div>
</body>
</html>
Ten tvuj posledni test se mi chova uplne stejne jako ty priklady, co jsem
posilal ten odkaz (kdyz se tam klikne na jejich priklad, tak se spusti), treba
ten top nebo bottom. Jakoze nevidim ten maly rozdil, o ktery tu bojujes od
zacatku. Pouzivas Firefox nebo jiny prohlizec? Ja mam zkusenosti, ze jine
prohlizece obvykle nevykresluji obsah spravne.
V cem je presne ten rozdil?
Ale, vzdycky by to slo resit javascriptem a pozicovanim. Jen by to bylo dost
krkolomne. Musela by se podchytit zmena toho okna a dalsi veci.
Vim, ze kdysi nekdo chtel resit posuvnik na prave strane. Ten normalni mu
nevyhovoval, tak chtel vlastni. Tak, to by se dalo asi vygooglovat.
js css scroller with own image
na graficke posuvniky s JS mam odlozene nejake skripty, ale tie riesia rolovaciu listu na rolovanie okna s obsahom a pokial sa da pouzit ciste CSS hocikde pri tvorbe stranky, tak dam tomu prednost
s tym top a bottom v mojom priklade je rozdiel, tie tvoje priklady riesili tie iste pozicie, ale v obsahu a pokial do obsahu vlozis sticky, tak tam je to uplne jednoduche, lebo naspodok stranky ho prilepi samotny obsah, ktory ho zatlaca naspodok neustale, u mna bol rozdiel v tom, ze postranny pravy box so sticky musel reagovat na ten dynamicky obsah a nenachadzal sa v nom
Podle mne, si stranku delas zbytecne komplikovanou Ja bych pouzil BT. Upravil si jeho
pridanym grafiku a bylo by. Vyuzil bych prvky, co jdou s pomoci BT vyskladat.
Par prikladu spesl veci se da vygooglovat. Driv, kdyz BT nebylo, jsem to delal
vsechno rucne. A tez kombinoval. Ale, to je moc pracne. Proc vymyslet spesl vec,
kterou mas na strance jen 1x? Jestli to radeji nejde prizpusobit na to ostatni.
Mne osobne rolovaci miniboxy moc nelakaji.
Ale, chapu, treba, ze si chces udelat na stranku neco jako hru pro navstevniky.
Kolega tam chtel dat Barta jezdiciho na skejtu. A byl desne zklamany, kdyz jsem
mu rekl, ze mu to tam klidne dam, jestli neco takoveho najdu nebo udelam, ale,
ze zrovna bart je zatizeny licencemi
Nebo, nekde jsem mel script na snezeni, magickou hulku (za kurzorem behaji
hvezdicky). Ale, to je, podle mne zcela zbytecne na webku. To spis do nejake hry
ja som to rolovacie tlacitko robila kvoli par strankam, kde ich obsah bude
dlhsi a je to unavne rolovat to prstom na niekolkokrat, ked sa chces hned dostat
k menu a ten bootstrap mam v hlave, neboj, k nemu sa dostanem tiez chcem ale najskor dorobit obsah a
az potom sa vrhnem na upravy, naskor som riesila nacitavanie stranky pri tom
mnozstve grafiky, co tam bude, lebo je to stranka o hre a tam treba dost veci
ukazat presne ako vyzeraju
Peter, nechcem kvoli tomu zakladat dalsie vlakno, ale chcem sa opytat, co u Firefox-u pridava akysi vnutorny tien do tlacitok na vyber farieb ? Ked nastavim obrazok pozadia cez CSS, tak je to v pohode, ale ked vlozim obrazok v HTML, tak Firefox spravi vnutorny tien. Naskor som myslela, ze je to okraj, ale zväcsila som si to a pozeram, ze je to vnutri. Pozerala som vlastnost box-shadow, ale asi to nebude ono. Okraje obrazka mam nastavene na border: none; - je tam potrebne este specifikovat nieco pre mozillu alebo webkit ?
Zobrazeno 26 zpráv z 26.