2012-05-18 4 views
12

mam obraz 1920x100, który jest wstawiany na szczycie mojej stronie:Jak zatrzymać obraz kurczenia gdy strona jest zmieniany poziomo w CSS

<img src="./Resources/Images/banner.jpeg" style="position:absolute; top:0px; left:0px; height:100px; width:100%;" name="top"> 

Chciałbym mieć go tak, że gdy strona jest zmieniany poziomo, obraz nie kurczy się ze stroną, lecz pozostaje w środku ekranu, tak:

enter image description here

wydaje się to proste rzeczy, które można łatwo osiągnąć, ale haven znalazłem rozwiązanie.

Mogę umieścić obraz wewnątrz div i ustawić lewą pozycję div - (1920-pageWidth)/2, ale to będzie zależało od JavaScript. Szukam czystszego rozwiązania (jeśli takie istnieje), aby zminimalizować złożoność strony i zmaksymalizować zgodność przeglądarki.

Czy istnieje jakaś własność CSS, której mogłabym użyć, aby osiągnąć ten cel, czy też podążam całkowicie niewłaściwie, aby to osiągnąć?

Każda pomoc doceniona.

Odpowiedz

4

z CSS

div { 
    background: url(./Resources/Images/banner.jpeg) no-repeat scroll center top transparent; 
    height: 100px; 
} 
+0

Działa doskonale, dzięki. –

4

Możesz dodać tę właściwość css do obrazu: min-width: 1280px

+1

Pozwoliłoby to zmniejszyć obraz do 1280 pikseli, ale sądzę, że chce, aby obraz pozostał 1920 pikseli, ale pozostaje na środku strony z przelewem ukrytym poza brzegami strony. –

+0

to pomogło mi, miałem ustawioną szerokość/wysokość, ale obraz wciąż był ponownie zmieniany, dzięki – workabyte

0

Zamiast img elementem wykorzystywać ten sam obraz jako tło obrazu i położenie w centrum. Zawsze będzie wyśrodkowany, ale może zostać przycięty, gdy element jest mniejszy niż obraz. Powinieneś także ustawić background-repeat na no-repeat, na wypadek, gdyby element się powiększył.

div { 
    background: url(/to/img) no-repeat 50% 0; 
    margin: 0 auto; 
} 
1

Co o czymś takim. (Użyj połowę szerokości obrazu dla margin-left)

HTML:

<div id='wrapper'> 
    <img src='./Resources/Images/banner.jpeg' id='banner'> 
</div> 

CSS:

#wrapper{overflow:hidden;position:relative;} 
#banner{position:absolute;top:0;left:50%;margin-left:-960px;} 

Oto skrzypce wykazując go za pomocą div (zmienić szerokość #wrapper): http://jsfiddle.net/mestekweb/mDkrE/

+0

Inną opcją jest użycie obrazu jako tła, o czym wspominali inni. –

1

Po prostu użyj obrazu jako background-image i użyj background-position wartość, aby umieścić go w środkowej górnej części elementu.

Zobacz to jsFiddle.

+0

To też jest świetne. ^^ – fungusanthrax

Powiązane problemy