Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][CSS] Jak obciąć poziomo po równo boki obrazka?
Forum PHP.pl > Forum > Przedszkole
pawelooss
Witam!

Mam taki kod, który zabezpiecza obrazki, by nie zajmowały szerokości większej niż 50 pikseli.
Przypuśćmy, że znalazł się tam obrazek, który ma szerokość 70 pikseli. Zostanie on więc obcięty o 20 pikseli z prawej.
  1. <div style="width: 50px; overflow: hidden;"><img src="mojobrazek.gif" alt="70 pikseli szerokosci" /></div>


W związku z tym mam pytanie: czy można ten obrazek jakoś "wycentrować" w tym obcinającym DIV-ie?

Innymi słowy jaki kod obcinałby go po równo o 10 pikseli z lewej strony i o 10 pikseli z prawej?


Z góry dziękuję za odpowiedzi! Każdą pomocną nagrodzę punktem "Pomógł". winksmiley.jpg


Pozdrawiam,
pawelooss
sadistic_son
Nie moge sprawdzic teraz, dlatego glowy nie daje ale sprawdz tak:
  1. <div style="width: 50px; overflow: hidden;"><img style="margin:0 auto;" src="mojobrazek.gif" alt="70 pikseli szerokosci" /></div>
pawelooss
Aha, kodu obrazka raczej nie chciałbym modyfikować, ewentualnie prosiłbym się więc posiłkować dodatkowym DIV-em. Ale jakby co, to proszę podawać wszelkie rozwiązania. smile.gif

  1. <div style="width: 50px; overflow: hidden;"><div style="margin:0 auto;"><img src="mojobrazek.gif" alt="70 pikseli szerokosci" /></div></div>

Próbowałem już powyższego, ale działało wyłącznie, gdy obrazek był mniejszy od 50 pikseli (czyli gdy naprawdę centrowało).

Ma ktoś jakiś inny pomysł? ;> Z góry dzięki. biggrin.gif
Kyle
Obrazki centruje się jak tekst więc powinno zadziałać:

  1. <div style="width: 50px; overflow: hidden; text-align: center;"><img src="mojobrazek.gif" alt="70 pikseli szerokosci" /></div>


Chyba... winksmiley.jpg
pawelooss
Tak, tylko to nie jest zwykłe centrowanie, że mamy obrazek i marginesy, dzięki czemu możemy go sobie swobodnie ustawiać, lecz ten obrazek nie dość, że ich nie ma, to jeszcze jest ucinany tylko z prawej strony.


Gdyby to było takie proste jak jakieś "align: center;", to bym tego ani tu nie wstawiał. ;]


Somebody else? biggrin.gif
celbarowicz
ściągnij darmowy program do kadrowania fotek=>JPEGrops i kombinuj ręcznie

<?php

echo '<div>';
echo '<img src="olek.jpg" style="width:50px;height:50px;" />';
echo '<div>';

?>
muniekw
Jak zrobisz sobie coś takiego:

  1. <div class="obetnij">
  2. <img src="mojobrazek.jpg" alt="70 pikseli szerokosci" />
  3. </div>


i dorzucisz takie style:

  1. .obetnij{
  2. width: 50px;
  3. height: 50px;
  4. overflow: hidden;
  5. }
  6.  
  7. .obetnij img
  8. {
  9. width: 50px;
  10. height: 50px;
  11. overflow: hidden;
  12. }


Co prawda nie obcina ale pod IE skaluje.
pawelooss
;]

Cytat(celbarowicz @ 19.02.2010, 13:51:21 ) *
ściągnij darmowy program do kadrowania fotek=>JPEGrops i kombinuj ręcznie
Dzięki, wolę IrfanView. ;]

Cytat(muniekw @ 19.02.2010, 13:51:49 ) *
Co prawda nie obcina (...)
Co prawda nie odpowiedź, ale dzięki. winksmiley.jpg


To wszystko są półśrodki, które wszyscy dobrze znają. A aż takim początkującym, by nie wiedzieć o skalowaniu IMG-ów, to nie jestem. Po prostu nie spotkałem się jeszcze z przedstawionym problemem równego obcinania w HTML (żadne PHP). tongue.gif

Kodu obrazka nie mogę zmienić, bo jest on generowany dynamicznie.
Podałem przykład 70 pikseli, ale równie dobrze może to być 60, 87 lub 46 piskeli. winksmiley.jpg


Ktoś musi wiedzieć, jak to rozwiązać. Do boju. haha.gif smile.gif
messmaker
  1. <div style="width: 50px; overflow: hidden;"><div style="margin-left:-300%;width: 300px; text-align:center;"><img src="img.png" alt="70 pikseli szerokosci" /></div></div>



Niezależnie od pierwotnej szerokości obrazka, o ile nie przekroczy 300px. Jeśli tak, to należy zmodyfikować kod.
krzysztof_kf
nie jestem pewien może ci co pomoże

Kod
div.figure {
  float: right;
  width: 15%;
  margin: 0.5em;
  padding: 0.5em;
  
}
img.scaled {
  width: 100%;
}

<div class="figure">
<img class="scaled" src="fit.jpg"</div>
pawelooss
Cytat(messmaker @ 19.02.2010, 18:26:14 ) *
  1. <div style="width: 50px; overflow: hidden;"><div style="margin-left:-300%;width: 300px; text-align:center;"><img src="img.png" alt="70 pikseli szerokosci" /></div></div>



Niezależnie od pierwotnej szerokości obrazka, o ile nie przekroczy 300px. Jeśli tak, to należy zmodyfikować kod.

Działa doskonale, bardzo dziękuję. biggrin.gif Nie muszę już testować innych metod. smile.gif
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.