Kawałek Kodu

Co tu się odskryptala?! Czyli programistyczne porady na luzie

Masz cela jak baba z wesela, czyli :target z przesunięciem.

Stworzyłeś wspaniałą stronę typu one-page. Nagłówek jest przyklejony do górnej krawędzi, a nawigacja oparta o hashe bez użycia JavaScript. Wygląda fajnie i nowocześnie, ale kliknięcie w link nawigacji powoduje przesunięcie na samą górę, a więc header skutecznie przykrywa fragment tej sekcji strony.

Jak zmusić stronę, aby ustawiała się pod nagłówkiem, czyli z przesunięciem o zadaną ilość pikseli?

Jest kilka rozwiązań tego problemu. Tu przedstawię jedną, nie wiem czy najprostszą, ale prostą.

Czytaj dalej

Brrrrr, czyli jak uniknąć <br/>

Tak jak współżycie bajkowego Pawła i Gawła było burzliwe, tak problematyczne może być ustawienie dwóch wycentrowanych elementów jeden pod drugim.

Niech za przykład posłuży poniższa struktura. Mamy tu element HEADER, a w nim nawigację (NAV) oraz zdjęcie (IMG), np. logo.

<header>
  <nav>
    <a href="#">menu 1</a>
    <a href="#">menu 2</a>
    <a href="#">menu 3</a>
    <a href="#">menu 4</a>
  </nav>

  <img src="http://kawalekkodu.pl/bl-themes/skeleton/img/kawalek_kodu.png" />
</header>

+

header {
  text-align: center;
}

nav {
  background: #ff0;
}
Czytaj dalej

Były sobie ptaszki trzy, czyli blokada checkboxów.

Ku, być może smutkowi niekórych, dziś będziemy się zajmować checkbox'ami znanymi z formularzy HTML. Niestety nie żywymi ptaszkami. Cel do osiągnięcia jest następujący: dla grupy checkbox'ów mamy zablokować możliwość ich kliknięcia powyżej wybranej liczby. Np. mając 10 ptaszków chcemy umożliwić zaznaczenie tylko trzech.

Czytaj dalej

Marian, a czy ty pamiętasz o naszej rocznicy? Czyli jak wygenerować "kalendarz" w MySQL.

Zdarza się, że z jakiegoś powodu potrzebujesz ciągły zakres rekordów od określonej daty do innej zadanej daty. Czyli zakres potocznie zwany kalendarzem.

Można to osiągnąć na dwa sposoby:

  1. Utworzyć tabelę i zapełnić ją wartościami od 0 do X. A następnie taką tabelę łączyć poprzez CROSS JOIN z zapytaniem wybierającym datę startową i dodawac do daty wartości 0-X.
  2. Wygenerować wartości od 0 do X poprzez zapytanie i połączyć ją analogicznie jak powyżej.

Jak wygląda drugi sposób?

Czytaj dalej

Do pełna poproszę! Czyli array_fill w MySQL(?)

Czy można wyczarować rekordy znikąd? Jasne! I to bez magicznej różdżki!

Zaczniemy od najprostszego zaklęcia, które wyczaruje nam 10 rekordów z wartościami od 0 do 9.

SELECT 0 AS a UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9

Trochę mało. Jak wygląda drugie zaklęcie?

SELECT a.a+b.a*10 FROM 
(SELECT 0 AS a UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9) AS a
  CROSS JOIN
(SELECT 0 AS a UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9) AS b
Czytaj dalej

Po drugiej stronie lustra, czyli jak wywrócić suwak na lewą stronę.

Jeśli lubisz czasem zaszpanować, to dziś coś dla Ciebie. Suwak z blichtrem prawie od pstryknięcia palcem.
Zapewne zauważyłeś, że suwaki elementów na stronie HTML są umieszczone po prawej stronie. A czy jest możliwe umieszczenie scrollbara po lewej stronie?

Czytaj dalej