Ten artykuł początkuje cykl porad na naszym blogu, odnośnie ciekawych rozwiązań programistycznych. Mogą się one przydać każdemu webmasterowi, podczas tworzenia stron internetowych. W końcu nie każdy z nas żyje tylko hostingiem.
Dziś problem, którego rozwiązania szuka wielu początkowych projektantów stron www. A mianowicie jak zrobić element strony, który po kliknięciu będzie rozwijał więcej tekstu. Najprościej zrobić to w HTML (+ CSS), więc tym językiem posłużę się w przykładzie.
Rozwijany tekst najprościej zrobić, za pomocą znaczników HTML <details>
i <summary>
. Pierwszy znacznik odpowiedzialny jest za stworzenie w dokumencie odpowiedniej sekcji, którą użytkownik strony może rozwijać, aby zobaczyć większą ilość tekstu domyślnie niewidoczną. Znacznik <summary>
jest uzupełnieniem tego głównego i odpowiada za tytuł sekcji, czyli to co jest widoczne. Po kliknięciu w ten tytuł, rozwija się reszta. Tyle teorii. A teraz jak to wygląda w praktyce.
Poniżej przykładowy listing rozwijanego tekstu w ramce:
<html>
<head>
<style>
details {border: solid thin green; padding: 10px; width: 500px}
details > summary { font-weight: bold}
</style>
</head>
<body>
<details>
<summary>Tytuł rozwijanego tekstu w HTML</summary><br>
Dalsza treść rozwiniętego opsu.<br><br>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.<br>
</details>
</body>
</html>
Specjalnie dałem kod w pełnej strukturze HTML, aby było dobrze widoczne w jakiej sekcji dodać style, które będą definiować wygląd rozwijanego tekstu. Natomiast pogrubioną czcionką, zaznaczone są konkretne znaczniki, które za to odpowiadają.
Wynik powyższego kodu:
Tytuł rozwijanego tekstu w HTML
Dalsza treść rozwiniętego opsu.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
Jak widać domyślnie widoczny jest tylko tekst z zawartości elementu <summary>
, który po kliknięciu otwiera resztę treści umieszczonej w elemencie <details>
. Oczywiście wygląd i wymiary, można dowolnie modyfikować pod swoje potrzeby w sekcji <style></style>
.
Warto też dodać że w znaczniku <details>
można dodać atrybut open
.
<details open>
Dzięki temu tekst od razu będzie domyślnie rozwinięty, dopiero kliknięcie w tytuł, będzie go zamykało.