Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [CSS] Problem z wyśrodkowanie obrazka <img>
Forum PHP.pl > Forum > Przedszkole
Witek76
Witam!

Moja stronka wygląda tak

CODE
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "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=UTF-8" />
<meta name="Autor" content="Zbigniew Wawrzyniak" />

<title>stronka</title>

<link rel="stylesheet" href="style_stronka.css" type="text/css" />


</head>
<body>
<div class="lista_fotografii">
<img src="images/foto_1fake.jpg"/>
</div>

</body>
</html>


CSS

CODE
html {
width: 100%;
height: 100%;
padding: 0px;
margin: 0px;
}

body {
margin : 0px;
padding:0px;
border:0px;
}

img{
display: block;
margin-left: auto;
margin-right: auto;
}



Nie wiem jak zrobić żeby obrazek(szeroki na 1920px) był zawsze wyśrodkowany (używając selektora <img> - nie wiem czy jest to możliwe) - za pomocą cechy background niema problemu wystarczy w stylach wpisać center i zawsze środek zdjęcia jest po środku niezależnie od szerokości przeglądarki. W przypadku selektora <img> obraz "trzyma się" lewej krawędzi przeglądarki - jak zmniejszamy przeglądarkę (zbliżamy lewą krawędź przeglądarki w strone prawej) widzimy zawsze lewą część obrazka przy lewej krawędzi przeglądarki.

z góry dzięki za odpowiedz,
Olsz4k
Gdzie to sprawdzasz? Musi działać. U mnie działa, poza tym:

http://jsfiddle.net/YbgLn/

Sprawdź wszystko jeszcze raz, masz tylko taki kawałek kodu czy coś w nim jeszcze jest?
kamil4u
Nie jest to możliwe za pomocą CSS i HTML. Z pomocą może Ci przyjść JS.
Olsz4k
Co nie jest możliwe? Wyśrodkowanie obrazka za pomocą CSS i HTML? Niby czemu?

@EDIT:

możesz spróbować jeszcze tak:

Kod
<div class="lista_fotografii">
<center><img src="images/foto_1fake.jpg"/></center>
</div>
kamil4u
Ty chyba nie rozumiesz problemu. Zobrazuję Ci go: http://jsfiddle.net/xKf49/1/embedded/result/

Teraz tak manipuluj rozmierem okna przeglądarki, żeby szerokość okna była mniejsza, niż obrazka. I w takim wypadku ma być wyświetlana środkowa część obrazka.

W Twoim rozwiązaniu doczepiłbym się jeszcze( prócz faktu, że rozwiązanie jest błędne ) do stosowania center, które jest wycofane ze specyfikacji.

Problem proponuję rozwiązać za pomocą JS lub po prostu zamiast img , użyć div i nadać mu tło(? - musiałbym to przetestować ).
RiE
Są mi znane dwa sposoby na uzyskanie takiego efektu:

1. Zawsze dopasowywuje się do szerokości przeglądarki (responsive)

DEMO: http://jsfiddle.net/S7vhr/1/embedded/result/

Kod użyty w przykładzie:
  1. div.img {
  2. background: url(http://i.imgur.com/VYC9J32.png) no-repeat center center fixed;
  3. -webkit-background-size: cover;
  4. -moz-background-size: cover;
  5. -o-background-size: cover;
  6. background-size: cover;
  7. width:100%;
  8. height:885px;
  9. filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='.myBackground.jpg', sizingMethod='scale');
  10. -ms-filter: "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='myBackground.jpg', sizingMethod='scale')";
  11. }


Wspierany przez przeglądarki:
- IE 9+
- Chrome
- Opera 10+
- Firefox 3.6+
- Safari 3+

Drugi sposób działa do rozmiaru okna 1024px, czyli bardziej desktopowe rozwiązanie, za to działa na starszych wersjach IE

DEMO: http://jsfiddle.net/eJZJS/1/embedded/result/

  1.  
  2. .image-wrapper {
  3. position: fixed;
  4. top: -50%;
  5. left: -50%;
  6. width: 200%;
  7. height: 200%;
  8. }
  9. .image-wrapper img {
  10. position: absolute;
  11. top: 0;
  12. left: 0;
  13. right: 0;
  14. bottom: 0;
  15. margin: auto;
  16. min-width: 50%;
  17. min-height: 50%;
  18. }


  1. <div clas="image-wrapper">
  2. <img src="http://i.imgur.com/VYC9J32.png" />
  3. </div>


Wspierany od IE8(na IE7 czasami też działa smile.gif )
Olsz4k
Heh, było już dosyć późno i źle podszedłem do problemu, teraz już wiem o co chodzi. W takim przypadku moje rozwiązanie to żadne, bo to nie ten problem.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.