• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

question-closed Nawigacja na witrynie

+1 głos
233 wizyt
pytanie zadane 15 marca 2021 w HTML i CSS przez niezalogowany
zamknięte 16 marca 2021

Witam!

Mam pytanie jak zrobić, żeby lista <ul>, a dokładniej jej element <li>, który pełni rolę przycisku nawigacyjnego, przenosił na następną "podstronę" nie tylko po kliknięciu na napis ale i obok niego. Czyli tak jak jest na stronie Pasja informatyki", że nie trzeba klikać np. w przycisk "START" tylko można obok:

Będę wdzięczny za odpowiedź, pozdrawiam!

komentarz zamknięcia: Otrzymanie najlepszej odpowiedzi

1 odpowiedź

0 głosów
odpowiedź 15 marca 2021 przez VBService Ekspert (256,600 p.)
wybrane 16 marca 2021
 
Najlepsza

Do <li> dodaj (ustaw) padding.  wink

<body>
<ul>
  <li>Start</li>
  <li>Kursy</li>
</ul>
<ul class="padding">
  <li>Start</li>
  <li>Kursy</li>
</ul>
<pre></pre>
</body>

<style>
body {
  user-select: none;
}
ul {  
  list-style-type: none;
}
li {
  display: inline-block;
  margin: 1em;
  cursor: pointer;
  transition: all 1s;
}
li:hover {
  background-color: gray;
  color: white;
}
.padding li {
  display: inline-block;
  margin: 1em;
  border: 1px solid red;
  cursor: pointer;
  padding: 1em; /* <--- */
  transition: all 1s;
}
.padding li:hover {
  background-color: red;
  color: yellow;
  border-color: yellow;
}
</style>

<script>
const pre = document.querySelector('pre');
let id_time_out;

[...document.querySelectorAll('li')].forEach(li_ => {
  li_.addEventListener('click', e => {
    clearTimeout(id_time_out);
    const padding_ = window.getComputedStyle(e.target).getPropertyValue('padding');
    pre.innerHTML = `    Ma padding ustawiony na: <b>${padding_}</b>`;
    id_time_out = setTimeout(() => { pre.innerHTML = ''; }, 2000);
  })
})
</script>

 

komentarz 15 marca 2021 przez niezalogowany

Dziękuję za odpowiedź, lecz mam ustawiony padding, ale nie ma oczekiwanych skutków, czy ustawienie znaczników <li></li> w środku znaczników <a href="abcd" ></a>, czyli tak:

<a href="/index.php"><li>Strona główna</li></a>

jest zgodne ze standardami, czy tego nie powinno się robić?

 

komentarz 15 marca 2021 przez VBService Ekspert (256,600 p.)
edycja 15 marca 2021 przez VBService

Znacznik <li> jest częścią znacznika <ul>, czyli inny kod html musi znajdować się w wnętrzu <li> ... kod html ... </li>

Tu masz jak dopasować padding znacznika <a> do <li>

<body>
  <ul>
    <li title="Klik"><a href="#">Start</a></li>
    <li title="Klik">Kursy</li>
  </ul>
  <ul class="padding">
    <li title="Klik"><a href="#">Start</a></li>
    <li class="last-child" title="Klik">Kursy</li>
  </ul>
  <pre> </pre>
  <pre>
    czerwona ramka - padding &lt;li&gt;
     zielona ramka - padding &lt;a&gt;
  </pre>
</body>

<style>
body {
  user-select: none;
}
ul {  
  list-style-type: none;
}
li {
  display: inline-block;
  margin: 1em;
  cursor: pointer;
  transition: all 0.5s;
}
li:hover {
  background-color: gray;
  color: white;
}
.padding li { /*  <------------+   */
  display: inline-block; /*    |   */
  margin: 1em; /*              |   */
  border: 3px solid red; /*    |   */
  cursor: pointer; /*          |   */
  transition: all 0.5s; /*     |   */
  padding: 0; /*  <------------+   */
}
.padding li a { /*  <----+   */
  display: block; /*  <--|   */
  padding: 1em; /*  <----+   */

  color: black;
  border: 3px solid green;
}
.padding li:hover {
  background-color: red;
  color: yellow;
  border-color: yellow;
}
.padding .last-child {
  padding: 2em;
}
</style>

<script>
const pre = document.querySelector('pre');
let id_time_out;

[...document.querySelectorAll('li')].forEach(li_ => {
  li_.addEventListener('click', e => {
    clearTimeout(id_time_out);
    const padding_ = window.getComputedStyle(e.target).getPropertyValue('padding');
    pre.innerHTML = `    Ma padding ustawiony na: <b>${padding_}</b>`;
    id_time_out = setTimeout(() => { pre.innerHTML = ' '; }, 2000);
  })
})
</script>

 

1
komentarz 16 marca 2021 przez niezalogowany

@VBService,

Dziękuję bardzo! Już wszystko działa!

Pozdrawiam!

Podobne pytania

0 głosów
1 odpowiedź 452 wizyt
pytanie zadane 10 lipca 2018 w HTML i CSS przez Q7V Gaduła (4,250 p.)
0 głosów
1 odpowiedź 877 wizyt
pytanie zadane 9 lipca 2020 w HTML i CSS przez gmcode Gaduła (3,140 p.)

93,631 zapytań

142,553 odpowiedzi

323,056 komentarzy

63,139 pasjonatów

Advent of Code 2025

Top 15 użytkowników

  1. 2900p. - dia-Chann
  2. 2870p. - DziarnowskiJ
  3. 2827p. - Łukasz Piwowar
  4. 2783p. - raydeal
  5. 2758p. - Adrian Wieprzkowicz
  6. 2713p. - rucin93
  7. 2579p. - Łukasz Eckert
  8. 2459p. - CC PL
  9. 2184p. - Maurycy W
  10. 2082p. - Michal Drewniak
  11. 1885p. - robwarsz
  12. 1811p. - rafalszastok
  13. 1600p. - Rafał Trójniak
  14. 1588p. - Tomasz Bielak
  15. 1494p. - ssynowiec
Szczegóły i pełne wyniki

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Kursy INF.02 i INF.03
...