łączenie dwóch klas w jedną

0

mam pytanie dotyczące połączenia dwóch klas w jedną, męczę się już dwa dni, wujek google podpowiedział kilka rozwiązań ale się nie sprawdziły (nie wiem dlaczego)

problem
mój projekt tworzę przy pomocy bootstrapa i w wielu stronach wrzucam treść z klasami "col-md-offset-1" i "col-md-10". Chciałbym połączyć te dwie klasy w jedną np. "col-md-post" która byłaby zlepkiem tych dwóch wspomnianych klas. W momencie potrzeby modyfikacji wyglądu treści stron, muszę modyfikować klasy "col-md-offset-1" i "col-md-10" we wszystkich stronach a tak zmodyfikowałbym klasę "col-md-post".

1

Musiałbyś modyfikować kod Bootstrapa, ew wspomóc się jakimś SCSS bądź innym PostCSS i użyć extendowania klas - co wydłuży Ci wynikowy kod CSS.

Wiesz w czym jest problem? W tym, że Bootstrap jest zaprojektowany do d**y. Zrobili bibliotekę łamiącą wszystko, co CSS miał osiągnąć - oddzielenie szablonu od jego wyglądu. Zamiast zrobić <font color=red> wszędzie mieliśmy dać <span class=header> i potem jeżeli przyjdzie potrzeba zmienić kolor w jednym miejscu. Boostrap robi to samo, tylko liczbę kolumn podajemy w nazwie klasy i potem też trzeba to zmieniać wszędzie.

To jest problem prawie każdego frameworka CSS (jak wielu nazywa takie rzeczy). Co prawda może na początku oszczędzasz czas tą metodą, ale jeżeli zamierzasz coś zmieniać to sobie dokładasz roboty. SCSS umiera, ale jakiś PostCSS z wtyczkami powinien umożliwić pisanie ładnego kodu CSS w stylu (to tylko wzór, który może nie być do odtworzenia w 100% w takiej składni):

@media-between (xs and md) {
  .post {
    @include column(9 of 12)
  }
  .ads {
    @include column(3 of 12)
  }
}

@media-between (lg and xl) {
  .post {
    @include column(6 of 12)
  }
  .ads {
    @include column(6 of 12)
  }
}

Wydaje mi sie, że co by się stało jest czytelne samo przez się :)

0

czyli nie da się w jakiś prosty sposób w nowym pliku np. style.css połączyć dwóch klas z bootstrapa w jedną klasę w tym dodatkowym pliku?

nadmienię tylko że piszę to za pomocą bootstrapa i php może to coś zmienia?

1

Nie i nie.

0

Jeśli korzystasz z PHP to możesz to trochę obejść. To trochę proteza ale działa. Możesz stworzyć sobie (np. w katalogu z CSSami żeby się nie myliło) pliczek o nazwie np. nowy_styl.php wrzucasz do niego nazwy klas który chcesz połączyć np. col-md-10 col-md-offset-1 a w miejsce gdzie chcesz wrzucić nowy styl wrzucasz kod class="<?php include(ścieżka_dostępu/nowy_styl.php);?>" i gotowe. Później modyfikujesz odpowiednio tylko pliczek nowy_styl.php. Tak jak mówiłem trochę proteza ale działa.
Podobno taki rzecz możesz też zrobić w java script ale ja z java script nie miałem nigdy do czynienia więc nie podpowiem.

1 użytkowników online, w tym zalogowanych: 0, gości: 1