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

Powtarzalność kodu CSS - pytanie.

Object Storage Arubacloud
0 głosów
285 wizyt
pytanie zadane 9 grudnia 2016 w HTML i CSS przez dewe Gaduła (4,300 p.)

Witam, mam pytanie.

Pytanie raczej skierowane do "profesjonalistów".

Otóż jak powinno się pisać Css'a?

Na przykład mam 4 identyfikatory w CSS. Każdy z nich wygląda mniej więcej tak:

#div1 { width: 100%; overflow: hidden; padding: 75px 0px; }

#div2 { width: 100%; overflow: hidden; padding: 75px 0px; background-color: #202020; }

#div3 { width: 100%; overflow: hidden; padding: 75px 0px; }

#div4 { width: 100%; overflow: hidden; padding: 75px 0px; }

Lepiej jest powtarzać ten kod w tych divach? Czy zrobić coś takiego:

#div1, #div2, #div3, #div4 { width: 100%; overflow: hidden; padding: 75px 0px; }

div2 { background-color: #202020; }

 

1 odpowiedź

+3 głosów
odpowiedź 9 grudnia 2016 przez HaKIM Szeryf (87,590 p.)

Najlepiej to nie stylizować po ID jak i nie tworzyć klas o tych samych wartościach dla powtarzających się elementów strony.

Lepszą opcją jest 2 przykład.

1
komentarz 9 grudnia 2016 przez lateM Pasjonat (17,660 p.)
A kolejnym logicznym krokiem jest zainteresowanie się preprocesorami.
komentarz 9 grudnia 2016 przez dewe Gaduła (4,300 p.)
Mam taki kod na swojej stronie jak podalem w pierwwzym przykladzie, ale te divy to sekcje strony wiec zostana jako id. Nie wiem po prostu czy lepiej na gorze dokumentu dac sobie wszystkie divy "polaczone" czyli kilka na raz czy powtarzac wartosci.
1
komentarz 9 grudnia 2016 przez HaKIM Szeryf (87,590 p.)

Jest to po prostu redundancja, której w programowaniu staramy się unikać.

Programowanie

W programowaniu często można się spotkać z pojęciem nadmiarowego kodu (ang. redundant code). Jest to:

  • kod, który jest wykonywany, ale nie ma żadnego wpływu na wynik końcowy;
  • tak zwany kod zombie, który znajduje się w programie, ale nigdy nie jest wykonywany;
  • tak zwany kod zdublowany - zawarty wielokrotnie taki sam fragment kodu, pełniący tę samą funkcję (lub bardzo zbliżony), a dający się zredukować przez zastąpienie go funkcją lub procedurą.

https://pl.wikipedia.org/wiki/Redundancja

1
komentarz 9 grudnia 2016 przez pablop76 VIP (123,180 p.)
Witam. Jeżeli te style się powtarzają to najlepiej zrobić klasę w css z odpowiednimi właściwościami i dodać ja do html każdego diva.
komentarz 10 grudnia 2016 przez dewe Gaduła (4,300 p.)
A jak nazwac taka klase?

Mam 4divy ktore sa sekcjami strony. W kazdej z nich jest ustawiony width, overflow i padding. W jednej z nich jest background. (sytuacja jak w moim przykladzie) i jak nazwac ta klase w ktorej dam overflow width i padding? Bo nie mam pojecia jakie nazewnictwo jest stosowane w takich przypadkach
komentarz 10 grudnia 2016 przez HaKIM Szeryf (87,590 p.)

Dajmy na to masz 4 sekcje:

  • Description of dog.
  • Description of cat.
  • Description of horse.
  • Description of cow.

HTML:

<main>
    <section id="dog">
        <div class="grid-md-6">
            <p class="color-black font-size-18px">
                Opis psa.
            </p>
        </div>
    </section>

    <section id="cat">
        <div class="grid-md-6">
            <p class="color-black font-size-18px">
                Opis kota.
            </p>
        </div>
    </section>

    <section id="horse">
        <div class="grid-md-6">
            <p class="color-black font-size-18px">
                Opis konia.
            </p>
        </div>
    </section>

    <section id="cow">
        <div class="grid-md-6">
            <p>
                Opis krowy.
            </p>
        </div>
    </section>
</main>

CSS:

.description-animal > section > div{
    background-color: #fff;
    border: 1px solid #006dda;
}

W taki sposób nawet nie musiałem się zastanawiać nad nazwami dla elementów.

Jeżeli będziemy często korzystać z koloru czarnego dla czcionek jak i  rozmiaru 18 px. można zrobić dwie klasy:

.color-black{
    color: #000;
}

.font-size-18px{
    font-size: 18px;
}

Jeżeli nie, dajemy:

.description-animal > section > div > p{
    color: #000;
    font-size: 18px;
}

Oraz wywalamy klasy z HTML dla tagu p.

Chcemy aby wyłącznie krowa miała tło obrazkowe, więc dodajemy w CSS:

.description-animal > section#cow > div{
    background: url('http://link-to-photo.png');
}

A jak nazwac taka klase? 

Po ludzku. wink

komentarz 10 grudnia 2016 przez dewe Gaduła (4,300 p.)
Trochę mi to objaśniłeś, dzięki ;)

Podobne pytania

0 głosów
1 odpowiedź 160 wizyt
pytanie zadane 28 lutego 2016 w HTML i CSS przez Głaz997 Bywalec (2,250 p.)
0 głosów
2 odpowiedzi 236 wizyt
0 głosów
1 odpowiedź 687 wizyt

92,583 zapytań

141,434 odpowiedzi

319,668 komentarzy

61,966 pasjonatów

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.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...