Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Strona się rozjeżdża
#1
Witam,
Mam problem. Chciałem stworzyć stronę tak, by logo i menu znajdujące się bezpośrednio pod nim umieścić na obrazku, który będzie jakby tworzył ramkę. Nie wiem jak to ładnie opisać, więc wrzuciłem na stronkę: http://rafalew.cba.pl (niebieskie jasne tło na nim logo i menu)
Niestety wiąże się z tym parę problemów. Po pierwsze jeśli pojawią się reklamy to logo z menu mi się podwyższa w stosunku do tła.
Drugi problem i dla mnie ważniejszy to fakt, że na niektórych przeglądarkach (czasem nawet IE8 - nie wiem od czego to zależy) strona się rozjeżdża. Zrobiłem print-screen'a i wrzuciłem pod linkiem "coś" na stronie (pod każdym adresem).
Zamieszczam kod index.html
Kod PHP:
<!DOCTYPE html 
    
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<
html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl">
<
head>
<
meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" />
<
meta name="Description" content="" />
<
meta name="Keywords" content="" />
<
title></title>
<
link rel="Stylesheet" type="text/css" href="style.css" />
<
link rel='stylesheet' type='text/css' href='menu_style.css' />
</
head>
<
body     <img src="images/tlogora.PNG" alt="" /><div id="top"
        <div id="BODY"><img src="images/a.PNG" alt="" />
        <div id="LOGO"><!--LOGO--><img src="images/logo.JPG" alt="" /><!--/LOGO-->
                <!--LINKI-->
                <ul class="menu blue">
                <li><a href="index.html" title="">Strona główna</a></li>
                <li><a href="oferta.html" title="">Coś</a></li>
                <li><a href="onas.html" title="" >O nas</a></li>
                <li><a href="dojazd.html" title="">Jak dojechać</a></li>
                <li><a href="kontakt.php" title="">Kontakt</a></li>
 
            
</ul></div>
        <!--/LINKI-->
        <div id="TRE">
        <div id="TRESC">
        <div class="ZAWARTOSC">
        
<p>Witamy na stronie naszej Poradni</p
<
p>To jest przykładowa treść strony...</p>
<
p>To jest przykładowa treść strony...</p>
<
p>To jest przykładowa treść strony...</p
<
p>To jest przykładowa treść strony...</p
<
p>To jest przykładowa treść strony...</p
<
p>To jest przykładowa treść strony...</p
<
p>To jest przykładowa treść strony...</p
<
p>To jest przykładowa treść strony...</p
<
p>To jest przykładowa treść strony...</p
<
p>To jest przykładowa treść strony...</p
<
p>To jest przykładowa treść strony...</p
<
p>To jest przykładowa treść strony...</p
<
p>To jest przykładowa treść strony...</p
<
p>To jest przykładowa treść strony...</p
 
        
</div>
        </div>
        </div>
                
        
<div id="INFO">
            <!--INFO-->
                <div class="ZAWARTOSC">
                <p>tu cos bedzie</p>
 
                
<!--ZAWARTOSC INFO-->
                    
                
<!--/ZAWARTOSC INFO-->
                </div>
            
            
<!--/INFO-->
        </div>
 
        
<div id="STOPKA"><!--STOPKA-->STOPKA<!--/STOPKA--></div>
    </div>
</
div>
</
body>
</
html

a także style.css

Kod PHP:
/*STRONA*/
body {
    
font-size12px;
    
font-familyVerdanaArialHelveticasans-serif;
    
background#eef1f6 url repeat-x;
    
text-aligncenter;
    
margin-top20px;
    
margin-bottom20px;
    
    

}
a img {
    
border0;
}
/*/STRONA*/

/*RAMKA*/
#top {
                
border-width1px;
                
border-color#C0C0C0;
                
border-stylenone dotted dotted dotted;
                
backgroundwhite;
                
font-size30px;
                
font-familyHelveticaVerdanaArialsans-serif;
                
color#000000;
                
margin0 auto;
                
width970px;
                
padding-top0px;
                
padding-bottom0px;
                                }
/*/RAMKA*/

/*WNETRZE*/
#BODY {
    
background-colorwhite;
    
text-alignleft;
    
margin-left15px;
    
margin-right0px;
    
width940px;
    
z-index1;
}
/*/WNETRZE*/

/*LOGO*/
#LOGO {
    
margin-left35px;
    
margin-right10px;
    
positionabsolute;
    
top133px;
    
z-index2;
    
}
/*/LOGO*/

/*/TRESC*/
#TRE {
    
width640px;
    
overflowhidden;
    
floatleft;
    
margin-left18px;
    
margin-top20px;
    

}

#TRESC {
    
width640px;
    
overflowhidden;
    
floatleft;
    

}
#TRESC .ZAWARTOSC {
    
font-sizesmall;
    
font-familyHelveticaVerdanaArialsans-serif;
    
color#000000;
    
backgroundwhite url;
    
padding-top5px;
    
padding-right30px;
    
padding-bottom30px;
    
padding-left30px;
    
line-height180%; 
}
#TRESC .ZAWARTOSC a:link {
    
color#0000FF;
    
text-decorationunderline;
    
font-weightnormal;
    
font-stylenormal;
}
#TRESC .ZAWARTOSC a:visited {
    
color#800080;
    
text-decorationunderline;
    
font-weightnormal;
    
font-stylenormal;
}
#TRESC .ZAWARTOSC a:hover {
    
color#FF0000;
    
text-decorationunderline;
    
font-weightnormal;
    
font-stylenormal;
}
/*/TRESC*/

/*STOPKA*/
#STOPKA {
    
font-size11px;
    
font-familyHelveticaVerdanaArial,  sans-serif;
    
color#000000;
    
background-colorwhite;
    
margin-top0px;
    
margin-right0px;
    
margin-bottom10px;
    
margin-left404px;
    
padding-top0px;
    
padding-right10px;
    
padding-bottom10px;
    
padding-left0px;
    
text-alignleft;
    
clearboth;
    }
#STOPKA a:visited {
    
color#000000;
    
text-decorationunderline;
}
#STOPKA a:link {
    
color#000000;
    
text-decorationunderline;
}
#STOPKA a:hover {
    
color#000000;
    
text-decorationnone;
}
/*/STOPKA*/ 

Proszę o pomoc
Odpowiedz
#2
z tego co widzę, to wszystko rozbija się o pozycjonowanie absolutne #logo

na Twoim miejscu zrobiłbym to tak:

1. wywaliłbym z kodu html linijkę
Kod:
<img alt="" src="images/a.PNG">
2. w style.css dał dla #logo (wiersz 46):
Kod:
background: url("../images/a.PNG") no-repeat top left;
height: 176px;
padding-top: 34px;
text-align: center;
zamiast istniejących
Kod:
margin-left:35px;
margin-right:10px;
position:absolute;
top:133px;
3. w menu_style.css dla ul.menu (wiersz 1) dał:
Kod:
margin: 0 auto;
width: 870px;
zamiast:
Kod:
margin: 0;
width: auto;

mam nadzieję, że o niczym nie zapomniałem - sprawdź jak działa i jak coś, to pisz
Odpowiedz
#3
(28-09-2010, 13:31)beny napisał(a): z tego co widzę, to wszystko rozbija się o pozycjonowanie absolutne #logo

na Twoim miejscu zrobiłbym to tak:

1. wywaliłbym z kodu html linijkę
Kod:
<img alt="" src="images/a.PNG">
2. w style.css dał dla #logo (wiersz 46):
Kod:
background: url("../images/a.PNG") no-repeat top left;
height: 176px;
padding-top: 34px;
text-align: center;
zamiast istniejących
Kod:
margin-left:35px;
margin-right:10px;
position:absolute;
top:133px;
3. w menu_style.css dla ul.menu (wiersz 1) dał:
Kod:
margin: 0 auto;
width: 870px;
zamiast:
Kod:
margin: 0;
width: auto;

mam nadzieję, że o niczym nie zapomniałem - sprawdź jak działa i jak coś, to pisz
Dzięki wielkie. Generalnie dorzucę zatem jeszcze menu_style.css już po poprawkach:
Kod:
ul.menu {
list-style-type:none;
position:relative;
display:block;
height:32px;
font-size:.4em;
background:url(images/bg.png) repeat-x top left;
font-family:Verdana,Helvetica,Arial,sans-serif;
border:0px solid #000;
padding-bottom: 0px;
text-align: center;
margin: 0 auto;
width: 830px;
padding: 0px 20px 0px 20px;
}

ul.menu li {
display:block;
float:left;
margin:0;
padding:0;
}

ul.menu li a {
float:left;
color:#A79787;
text-decoration:none;
height:24px;
padding:7px 49px 0;
font-weight:normal;
}

ul.menu li a:hover,.current {
color:#fff;
background:url(images/bg.png) repeat-x top left;
text-decoration:none;
}

ul.menu .current a {
color:#fff;
font-weight:700;
}

/*BLUE*/
ul.menu.blue{
background-color:#3F8FD2;
}
ul.menu.blue li a:hover, .menu.blue li.current {
background-color: #A3BAE6;
/*background-color: #78B8F1;*/
/*#A3BAE6;*/
}


Zastosowałem się do wszystkiego. Generalnie pomogło i jest dużo lepiej. Logo i menu wskoczyły na swoje miejsca. Ale zostały jeszcze 3 problemy, z których dwa udało się rozwiązać, nie wiem czy dobrze więc proszę o opinię.

1. W starych przeglądarkach nadal występuje taki odstęp między logo a menu na dwa milimetry, jak na tym zdjęciu gdzie dałem rozjechaną stronę. Nie umiem tego zrobić

2.
(28-09-2010, 13:31)beny napisał(a):
Kod:
margin: 0 auto;
width: 870px;

Gdy tak zrobię, to pod starszymi przeglądarkami jest ok, ale pod nowszymi przeglądarkami menu jest szersze od obrazka. Muszę więc zrobić width: 830px do nowych przeglądarek i w starych mam za krótkie to menu. Udało mi się to jednak rozwiązać dodając w menu_style.css w ul.menu linię: padding: 0px 20px 0px 20px to mi rozciągnęło menu w starych przeglądarkach i w nowych nic nie zepsuło, więc chyba jest dobrze?

3. Nie zauważyłem tego wcześniej tylko dopiero teraz. DIV w którym jest napis "Witamy na stronie...." w nowych przeglądarkach mam wyrównany do tego niebieskiego tła, co widzę jak wrzucę background-image a w starszych przeglądarkach jest wyrównany do loga - zatem przesunięty w prawo. Udalo mi się to poprawić wyrzucając w #TRE margin-left i zamiast tego dałem padding-left. Zadziałało i jest chyba dobrze. Czy to poprawnie będzie?
Odpowiedz
#4
(28-09-2010, 18:36)rafalew napisał(a): 1. W starych przeglądarkach nadal występuje taki odstęp między logo a menu na dwa milimetry, jak na tym zdjęciu gdzie dałem rozjechaną stronę. Nie umiem tego zrobić

oglądałem stronę pod ie6 - teoretycznie żywą skamieliną i nie uzyskałem tego... naprawiłeś to, czy masz jeszcze bardziej historyczne przeglądarki?

(28-09-2010, 18:36)rafalew napisał(a): 2. Gdy tak zrobię, to pod starszymi przeglądarkami jest ok, ale pod nowszymi przeglądarkami menu jest szersze od obrazka. Muszę więc zrobić width: 830px do nowych przeglądarek i w starych mam za krótkie to menu. Udało mi się to jednak rozwiązać dodając w menu_style.css w ul.menu linię: padding: 0px 20px 0px 20px to mi rozciągnęło menu w starych przeglądarkach i w nowych nic nie zepsuło, więc chyba jest dobrze?

mój błąd, dobrze poprawiłeś

(28-09-2010, 18:36)rafalew napisał(a): 3. Nie zauważyłem tego wcześniej tylko dopiero teraz. DIV w którym jest napis "Witamy na stronie...." w nowych przeglądarkach mam wyrównany do tego niebieskiego tła, co widzę jak wrzucę background-image a w starszych przeglądarkach jest wyrównany do loga - zatem przesunięty w prawo. Udalo mi się to poprawić wyrzucając w #TRE margin-left i zamiast tego dałem padding-left. Zadziałało i jest chyba dobrze. Czy to poprawnie będzie?

dobrze Smile chociaż na przyszłość spróbuj tło obrazkowe wstawiać właśnie jako tło (przez style css - background: url('sciezka/do/obrazka.xxx') no-repeat; ) - mniej z tym problemów Wink
Odpowiedz
#5
W zasadzie już mi się udało. W menu_style.css w ul.menu zmieniłem margin z wartości 0 auto na -7px auto i pomogło. Ale na rafalew.cba.pl nadal stronka przed poprawką wisi. Dzięki za pomoc.
Odpowiedz
#6
(29-09-2010, 17:19)rafalew napisał(a): W zasadzie już mi się udało. W menu_style.css w ul.menu zmieniłem margin z wartości 0 auto na -7px auto i pomogło. Ale na rafalew.cba.pl nadal stronka przed poprawką wisi. Dzięki za pomoc.

aaaaaa Big Grin nie lubię takich rozwiązań, no ale jak Ci nie przeszkadza, to niechaj tak będzie, tylko zamiast -7px auto daj -7px auto 0, bo coś Ci może wjechać od dołu na menu kiedyś i będziesz miał zagwozdkę Smile
Odpowiedz
#7
(29-09-2010, 17:36)beny napisał(a):
(29-09-2010, 17:19)rafalew napisał(a): W zasadzie już mi się udało. W menu_style.css w ul.menu zmieniłem margin z wartości 0 auto na -7px auto i pomogło. Ale na rafalew.cba.pl nadal stronka przed poprawką wisi. Dzięki za pomoc.

aaaaaa Big Grin nie lubię takich rozwiązań, no ale jak Ci nie przeszkadza, to niechaj tak będzie, tylko zamiast -7px auto daj -7px auto 0, bo coś Ci może wjechać od dołu na menu kiedyś i będziesz miał zagwozdkę Smile

Rozwiązanie mi przeszkadza, ale nic lepszego nie wymyśliłem. Na rafalew.cba.pl masz widok jak to wyglądało, a jakby nie było widać badziewnego efektu to pod linkiem "coś" printscreen. Jakbyś znalazł jakieś dobre rozwiązanie chętnie je zastosuję Smile
Odpowiedz
#8
trochę dużo już będzie tych divów, ale co tam...
w kodzie html "opakuj" całego <ul class="menu blue"> w
Kod PHP:
<div class="menuBckg">
   <
ul class="menu blue"> ... </ul>
</
div><!-- class="menuBckg" --> 

a w pliku css dodaj:
Kod:
.menuBckg {
   background: url('../images/logo.JPG') no-repeat top center;
   padding-top: 112px;
}

myślę, że powinno zatrybić...
90% kodu zajmuje 90% czasu,
pozostałe 10% zajmuje drugie tyle
Odpowiedz
#9
No zatrybiło Smile dzięki. A powiedz mi jeszcze, czy taka duża ilość divów źle wpływa na stronę? Na szybkość wczytywania albo może mieć coś wspólnego z pozycjonowaniem, że będzie trudniejsza do przeszukiwania, itp...?
Odpowiedz
#10
co do pozycjonowania, to się nie wypowiadam, gdyż jest to dla mnie czarną magią, ale myślę, że nie powinno mieć to chyba jakiegoś wielkiego znaczenia Wink tylko często na początku dostawałem zjebkę od programistów za "div w divie, w innych 5-ciu divach" i teraz staram się ograniczyć do minimum zagnieżdżanie kolejnych elementów w sobie... prawdopodobnie chodzi tu bardziej o późniejsze poruszanie się po kodzie i ewentualny kosmos 8 kiedy wyjdą jakieś odstępy albo paddingi nie wiadomo skąd ale najlepiej jakby się wypowiedział jakiś specjalista w tej dziedzinie, a wiem że są na tym forum tacy

co do szybkości wczytywania... nie wiem ile by trzeba było naklepać tych divów w kodzie, żeby dorównać skromnemu obrazkowi png 20 x 20px, także to chyba nie problem

cieszę się, że pomogłem, pozdrawiam Smile
Odpowiedz


Podobne wątki…
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
  Wyświetlenie strony w ramce - strona z zabezpieczeniem piotreksmoq 1 3,097 01-02-2015, 22:13
Ostatni post: Kartofelek
  Strona startowa & Zgodnosc PHP z FTP mariusz__vip 11 9,410 08-06-2013, 16:06
Ostatni post: mariusz__vip
  markery na mapie (strona z szablonu) [email protected] 6 5,622 27-02-2013, 06:59
Ostatni post: Engine
  Strona złożona z tabs'ów Heyek 6 5,152 12-11-2012, 16:02
Ostatni post: Kartofelek
  [php][css] Problem ze stroną w Joomla Arogoz 2 3,118 23-10-2012, 04:02
Ostatni post: Arogoz

Skocz do:


Użytkownicy przeglądający ten wątek: 1 gości
Sponsorzy i przyjaciele
SeoHost.pl