Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [CSS][HTML] nietypowe ustawienie fotek
Forum PHP.pl > Forum > Po stronie przeglądarki
1q2w3e4r
Cześć,
Chcę zrobić z tego slider. Problem polega w tym, że fotki które będę wstawiał do niego nie będą ścięte tak jak na tym obrazku, a będą w całości - jak normalne zdjęcia.
Macie jakiś pomysł jak rozwiązać ten problem w CSS aby działało w każdej przeglądarce? A może jest gotowy jakiś przykład - wtedy nie trzeba będzie tworzyć koła na nowo.

Ten przykład jest z photoshopa:


Proszę o pomoc.
dudek90
Zrób z tych dwóch po prostu jedno zdjęcie i wrzuć jako całość.
Ewentualnie jeśli chcesz użyć CSS to poczytaj o: z-index
1q2w3e4r
Nie jest to takie proste jakby się mogło wydawać na początku.
Nie mogę dać to jako jedno zdjęcie ponieważ zdjęcia mają się przewijać z różną częstotliwością.
Znam z-index i użycie jego tutaj jest nieuniknione. Ale nie da się założyć jednego zdjęcia na drugie z ucięciem.
Czy macie może jakieś pomysły?
pehaperowiec
sposób 1:
pozycjonowanie relatyne, marginesy, z-index + obrazki jako png z przezroczystoscią wraz z obramowaniem + cieniami - zadziałą wszędzie

sposób 2:
pozycjonowanie relatywne dla rodzica, pozycjonowanie absolutne dla dzieci, marginesy i clip - to osotatnie nie zadziałą wszędzie
johnny_b
Cześć 1q2w3e4r!

pierwsze co przychodzi mi na myśl kiedy mam tworzyć nietypowe kształty to SVG, ale pojawia się tutaj element zdjęcia, więc Canvas i CSS3 również dają podobne możliwości, ale mają z kolei kilka innych ograniczeń. Również pamiętaj o wsparciu przeglądarek. Przyszło nam się cieszyć IE10 wink.gif więc css3 wydaje się być ciekawą opcją, jednak nie jest to jeszcze standard ja to nazywam nadużywaniem przyzwyczajeń odbiorców. Sam css3 nie da takiego efektu.

Cytat
Ale nie da się założyć jednego zdjęcia na drugie z ucięciem. Czy macie może jakieś pomysły?


Pewnie, że się da, a jeżeli nie wiesz lub nie chcesz testować smile.gif zrób 2 divy, i ustaw każde zdjęcie jako background. - rozwiązanie kiepskie przy zmianie obrazków - chyba że zawsze będą te same wymiary.


Cytat
dudek90: Ewentualnie jeśli chcesz użyć CSS to poczytaj o: z-index

Z-index tak, ale jeżeli chodzi o CSS to figury aktualnie stosowane właściwości css3, operują w znacznej części na właściwościach border-rarius/after/before. Czyli Tło będzie na całej wielkości diva np.


  1.  
  2. #triangle-topleft {
  3. width: 0;
  4. height: 0;
  5. border-top: 100px solid rgba(255,255,255, .3);
  6. border-right: 100px solid transparent;
  7. background-image: url('SCIEZKA DO JAKIEGOS ZDJECIA');
  8. overflow: hidden;
  9. }
  10. </head>
  11. <div id="triangle-topleft"></div>
  12. </body>
  13. </html>
  14.  



Reasumując:
css3/svg/canvas -> jawnie nie dają takich możliwości.
Osobiście gdyby stanął przed takim zadaniem to utworzyłbym 2 divy, których tłem byłyby obrazki. Korzystając z png (wcięcia przezroczyste) oraz z-index smile.gif i odpowiednie pozycjonowanie divów i efekt zamierzony oraz oczywiście obsługa JS.

1q2w3e4r
Dziękuję wszystkim za propozycje.
Gdyby ktoś znał jeszcze inne sposoby wykonania tego zadania chętnie je zobaczę.
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.