Přeskočit přímo na text


CSS-obrázek a fixní pozice

Kategorie: Jak na to?
Týká se verze: Drupal 6.x

Dobrý den. Vzhledem k tomu, že kategorie CSS na tomto Fóru má dost bídnou návštěvnost, dovolím si tento dotaz položit sem.

Řeším momentálně problém s jedním zlobivým obrázkem-banerem typu skyscraper. Chtěl bych ho umístit hned vedle pravého menu, což se mi daří, ale bohužel po přechodu do určité kategorie webu, nebo na nějaký článek si baner „lítá“ nahoru, dolů kam se mu zachce a je pak třeba vidět jenom jeho část. Neexistuje nějaký argument/příkaz, který by tomu obrázku určil fixní pozici na zbytku obsahu?

Současný kód pro umístění obrázku je tento (nutno podotknout, že nezáleží na tom, za je použita relativní či absolutní pozice, obrázek se posouvá stále nahoru, dolů v závislosti na obsahu webu):

.skyscraper img { margin-left: 1100px; margin-top: –2050px; margin-bottom: 220px; padding-top: 500px; padding-bottom: 750px; position: relative; }

 

Ty marginy a paddingy jsou

Ty marginy a paddingy jsou hodně divoký. Já to řeším tak že samotný baner je vložený ve dvou divech např. tedy skyscraper-out > skyscraper > img. Skyscraper-out je napozicovaný absolutně/ relativně na správné místo, skyscraper pak má position fixed a img nic.

A kldině to příště pište rovnou do CSS. To že to tam plně nežije neznamená, že to tam zapadne.

Vyzkoušel jsem, ale nefunguje

Vyzkoušel jsem, ale nefunguje mi to. Pokusil jsem se zároveň odstranit přebytečné paddingy.

Kód teď vypadá takhle:

div.skyscraper-out { margin-left: 500px; margin-top: –1550px; position: absolute; }

.skyscraper-out div.scyscraper img { margin-left: 500px; margin-top: –1550px; position: absolute; }

Banner se furt posouvá dle obsahu. :-(

pokud používáte position

  1. pokud používáte position absolute, tak se vybodněte na marginy, a použijte jen top a left…
  2. máte tam pořád position absolute, v obou případech.
  3. přečetl jste si vůbec co jsem prve psal? že na img nemusí být nic?

2. při relativním způsobu

2. při relativním způsobu napozicování se mi nepodařilo ten nadřazený div, do kterého chci umístit obrázek, přesunout na místo, na které chci

3. přečetl, ale pochopil jsem to až dnes, omlouvám se

Jestli to teda dobře chápu, tak by to mělo vpadat zhruba takto:

.skyscraper-out { margin-left: 1200px; margin-top: –1550px; position: absolute; }

.scyscraper { position: fixed; }

Problém je v tom, že se banner při těchto parametrech vůbec nezobrazí. :-(

Plati pravidlo ze ak je

Plati pravidlo ze ak je nadradeny div position: relative; a ma znamu sirku (napriklad 800px) tak prvok co je vovnutri a ma position: absolute; mozme umiestnit napriklad napravo od nadradeneho divu → top: 0px; left: 800px;

Vid napriklad www.enigma.sk kde je napravo od stranky reklama.

Nemohl byste sem prosím

Nemohl byste sem prosím umístit konkrétní část kódu? Nějak se v tom začínám ztrácet.

Priklad: #parent { width:

Priklad:

<style>
#parent {
  width: 800px;
  position: relative;
  background-color: red;
}
#in-parent {
  width: 200px;
  position: absolute;
  top: 0px;
  left: 810px;
  background-color: yellow;
}
</style>

<div id="parent">
  <div id="in-parent"><img src="reklama.jpg"></div>
  obsah
</div>

Díky. V téhle chvíli kód

Díky. V téhle chvíli kód vypadá takto:

div.skyscraper-out { margin-left: 1120px; margin-top: –1500px; position: relative; height: 600px; width: 120px; background-color: red; }

.skyscraper-out div.scyscraper { position: absolute; }

A banner i přesto lítá sem a tam dle obsahu. Nějak už mi přestávají docházet nápady, jak to provést. :-(

Kolega mi říkal, že by bylo

Kolega mi říkal, že by bylo nějak možné banner svázat s určitým prvkem na webu, který je statický. Neví někdo jak toho docílit?

Keby si dal linku na stranku

Keby si dal linku na stranku kde to skusas dalo by sa ti poradit presne. Cely problem je v tom ze to asi umiestnujes na nespravne miesto a pouzivas margin. Ked ss skusi pohrat s tym prikladom ako som ti ho napisal zistis ze tam ked budes posuvat hocikam ten #parent div tak ti vzdy zostane #in-parent na svojej pozicii → napravo od neho a zacne vzdy na jeho hornej hrane.

Nie je tam ziadny margin a drzi sa tam. Jednoduchsie sa to uz ukazat neda – ty tam mas stale nieco ine.

Este jedna vec – ty

Este jedna vec – ty manipulujes (asi) s tym nadradenym divom – ten ma mat len position: relative lebo potom sa da podriadenemu s position: absolute nastavovat pozicia zavisla od jeho laveho horneho rohu. Chcelo by to vidiet aj html ako som pisal.

Ja som to na strankach enigmy hodil proste do page.tpl.php (aj tak tam tie bannery menim rucne).

Chtěl bych mockrát poděkovat

Chtěl bych mockrát poděkovat Havranovi, který byl tak hodný a po ICQ mi pomohl, takže se mi banner nakonec podařilo zdárně umístit na vytyčenou pozici. Ještě jednou mockrát díky! :-)

*

*

Poslat nový komentář

Obsah tohoto pole je soukromý a nebude veřejně zobrazen.
  • You can use Texy! to format and alter entered content.
  • Povolené HTML značky: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <p> <br> <b> <i> <h2> <img> <pre> <sup> <sub> <pre class="php"> <span class="php-keyword1"> <span class="php-var"> <span class="php-num"> <img class="screenshot"> <p class="beginner"> <a class="greybox"> <h3> <h4>

Více informací o možnostech formátování

Mollom CAPTCHA (play audio CAPTCHA)
Type the characters you see in the picture above; if you can't read them, submit the form and a new image will be generated.

Drupal meet-up mobilni web 2011

Hledat

Přihlášení

Poslední komentáře