Da się nadać ramce imię ?

0

Witam.

Czy da się za pomocą html/css nadać ramce jakieś imię, aby wyświetlać w niej obrazy z linków bez pomocy plików zewnętrznych ?

np coś w stylu <img src="" target="_blank"/> z tym, że zamiast blank byłaby to nazwa ramki i obrazy wyświetlałyby się w niej pod linkami ?

3

Spróbuj napisać co chcesz osiągnąć pomijajać wszystkie technikalia, iframy, nazwy, img src, takimi słowami osoby co się nie zna.

0

np mam 50 linków z tytułami książek i żeby po kliknięciu każdego z nich pojawiało się zdjęcie okładki, ale żeby to wszystko działo się w jednym pliku, a nie w nowym oknie, czy w nowej stronie.

0

Ogarniasz jakieś podstawy Js? Element który zawiera wyskakujące zdjęcie to mógłby być <dialog>, do tego wkładasz img, a następnie używając pętli dodajesz do każdego linka funkcję nasłuchującą na onclick, która będzie ustawiała 'open' na elemencie <dialog> i podstawiała odpowiedni adres obrazka. Chat gpt powinien pomóc Ci to napisać.

A jeśli koniecznie ma być tylko css i html? No to wyskakujący element z już ustawionym odpowiednim adresem obrazka tworzysz wcześniej dla każdego linku osobno i ustawiasz na przykład że ten obrazek ma być visibility:visible tylko wtedy kiedy element sibling (link) ma pseudoklasę 'active', a jak nie to 'visibility:hidden'. Może by to jakoś działało, ale oczywiście pierwsze rozwiązanie dużo lepsze.

1

Kompletnie nie potrzebujesz do tego ramek. Wystarczy minimum HTML + minimum JS: https://jsbin.com/baraxakafi/1/edit?html,js,output

Z ramkami niby też zadziała: https://jsbin.com/ciqibunavo/1/edit?html,js,output ale to rodzi mnóstwo problemów:

  • dopasowanie rozmiaru ramki do obrazka (zarówno żeby się skalowało w górę i w dół)
  • zewnętrzne obrazki mogą się nie ładować ze względu na ustawienia serwera
  • nawet rozszerzenia do przeglądarki mogą blokować ramki
  • coś innego miałem na myśli, ale zapomniałem teraz

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.