🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.php
10 messages
10 total messages Started by Roman Tyczka Thu, 18 Jan 2018 14:14
Klasy css i priorytety
#231913
Author: Roman Tyczka
Date: Thu, 18 Jan 2018 14:14
11 lines
1063 bytes
mam przykładowo diva i definiuje mu style:

<div class="pierwsza druga">

jeśli obie klasy definiują tę samą właściwość (np. background-color) to
brana jest pierwsza (przynajmniej w Fx), czy jest sposób by wymusić by
druga  klasa styli miała wyższy priorytet i nadpisywała pierwszą?

-- 
pozdrawiam
Roman Tyczka
Re: Klasy css i priorytety
#231914
Author: Wojtek Gapiński
Date: Fri, 19 Jan 2018 15:16
21 lines
1373 bytes
W dniu 18-01-2018 o 15:14, Roman Tyczka pisze:
> mam przykładowo diva i definiuje mu style:
> 
> <div class="pierwsza druga">
> 
> jeśli obie klasy definiują tę samą właściwość (np. background-color) to
> brana jest pierwsza (przynajmniej w Fx), czy jest sposób by wymusić by
> druga  klasa styli miała wyższy priorytet i nadpisywała pierwszą?
> 

Można dodać kontekst do drugiej klasy, np.
div.druga
body div.druga

itd.
Dokładniejsze wskazanie klasy spowoduje jej zastosowanie w miejsce 
"pierwsza".

-- 
Wojtek Gapiński
http://www.phprogramista.pl
Re: Klasy css i priorytety
#231915
Author: Roman Tyczka
Date: Fri, 19 Jan 2018 16:43
29 lines
1680 bytes
On Fri, 19 Jan 2018 16:16:50 +0100, Wojtek Gapiński wrote:

>> mam przykładowo diva i definiuje mu style:
>> 
>> <div class="pierwsza druga">
>> 
>> jeśli obie klasy definiują tę samą właściwość (np. background-color) to
>> brana jest pierwsza (przynajmniej w Fx), czy jest sposób by wymusić by
>> druga  klasa styli miała wyższy priorytet i nadpisywała pierwszą?
>> 
> 
> Można dodać kontekst do drugiej klasy, np.
> div.druga
> body div.druga
> 
> itd.
> Dokładniejsze wskazanie klasy spowoduje jej zastosowanie w miejsce 
> "pierwsza".

Chodzi mi bardziej o możliwość incdentalnej zmiany priorytetu, czyli na
poziomie znacznika html.
Ale może tak się nie da.

btw. dziwne trochę jest, że overridowanie nie następuje w kolejności
dopisywania klas do znacznika, bo to byłoby i jednoznaczne i skuteczne.

-- 
pozdrawiam
Roman Tyczka
Re: Klasy css i priorytety
#231916
Author: Lemat
Date: Fri, 19 Jan 2018 17:08
36 lines
2237 bytes
W dniu 19.01.2018 o 17:43, Roman Tyczka pisze:
> On Fri, 19 Jan 2018 16:16:50 +0100, Wojtek Gapiński wrote:
> 
>>> mam przykładowo diva i definiuje mu style:
>>>
>>> <div class="pierwsza druga">
>>>
>>> jeśli obie klasy definiują tę samą właściwość (np. background-color) to
>>> brana jest pierwsza (przynajmniej w Fx), czy jest sposób by wymusić by
>>> druga  klasa styli miała wyższy priorytet i nadpisywała pierwszą?
>>>
>>
>> Można dodać kontekst do drugiej klasy, np.
>> div.druga
>> body div.druga
>>
>> itd.
>> Dokładniejsze wskazanie klasy spowoduje jej zastosowanie w miejsce
>> "pierwsza".
> 
> Chodzi mi bardziej o możliwość incdentalnej zmiany priorytetu, czyli na
> poziomie znacznika html.
> Ale może tak się nie da.

javascriptem?
https://www.w3schools.com/jsref/prop_html_classname.asp

> btw. dziwne trochę jest, że overridowanie nie następuje w kolejności
> dopisywania klas do znacznika, bo to byłoby i jednoznaczne i skuteczne.
> 
pewnie pracował nad tym ktoś z dir="rtl"
dobrze przynajmniej, że nie japończyk z ich utd.

-- 
Pozdrawiam
Lemat
Re: Klasy css i priorytety
#231917
Author: Roman Tyczka
Date: Fri, 19 Jan 2018 22:39
45 lines
2324 bytes
On Fri, 19 Jan 2018 18:08:37 +0100, Lemat wrote:

>>>> mam przykładowo diva i definiuje mu style:
>>>>
>>>> <div class="pierwsza druga">
>>>>
>>>> jeśli obie klasy definiują tę samą właściwość (np. background-color) to
>>>> brana jest pierwsza (przynajmniej w Fx), czy jest sposób by wymusić by
>>>> druga  klasa styli miała wyższy priorytet i nadpisywała pierwszą?
>>>>
>>>
>>> Można dodać kontekst do drugiej klasy, np.
>>> div.druga
>>> body div.druga
>>>
>>> itd.
>>> Dokładniejsze wskazanie klasy spowoduje jej zastosowanie w miejsce
>>> "pierwsza".
>> 
>> Chodzi mi bardziej o możliwość incdentalnej zmiany priorytetu, czyli na
>> poziomie znacznika html.
>> Ale może tak się nie da.
> 
> javascriptem?
> https://www.w3schools.com/jsref/prop_html_classname.asp

E, no nie, JS-em to można wszystko, nawet grawitację odwrócić ;-)
Ja bym chciał, że tak się wyrażę, po bożemu czyli zgodnie z zasadami i
statycznie :-)
 
>> btw. dziwne trochę jest, że overridowanie nie następuje w kolejności
>> dopisywania klas do znacznika, bo to byłoby i jednoznaczne i skuteczne.
>> 
> pewnie pracował nad tym ktoś z dir="rtl"

To ciekawa uwaga, warto by potestować czy nie jest to regułą i może
rzeczywiście założenia odwieczne trza by w głowie przemodelować.

> dobrze przynajmniej, że nie japończyk z ich utd.

Lub szachista z ich konikiem ;-)

-- 
pozdrawiam
Roman Tyczka
Re: Klasy css i priorytety
#231918
Author: Wojtek Gapiński
Date: Sat, 20 Jan 2018 10:07
33 lines
1905 bytes
W dniu 19-01-2018 o 17:43, Roman Tyczka pisze:
> On Fri, 19 Jan 2018 16:16:50 +0100, Wojtek Gapiński wrote:
> 
>>> mam przykładowo diva i definiuje mu style:
>>>
>>> <div class="pierwsza druga">
>>>
>>> jeśli obie klasy definiują tę samą właściwość (np. background-color) to
>>> brana jest pierwsza (przynajmniej w Fx), czy jest sposób by wymusić by
>>> druga  klasa styli miała wyższy priorytet i nadpisywała pierwszą?
>>>
>>
>> Można dodać kontekst do drugiej klasy, np.
>> div.druga
>> body div.druga
>>
>> itd.
>> Dokładniejsze wskazanie klasy spowoduje jej zastosowanie w miejsce
>> "pierwsza".
> 
> Chodzi mi bardziej o możliwość incdentalnej zmiany priorytetu, czyli na
> poziomie znacznika html.
> Ale może tak się nie da.
> 

Można jeszcze dodać w klasie, która ma mieć wyższy priorytet, dyrektywę 
!important, wówczas zostanie użyta ta reguła, niezależnie od kolejności 
klas i kontekstu.
Może to Ci pomoże?

-- 
Wojtek Gapiński
http://www.phprogramista.pl
Re: Klasy css i priorytety
#231919
Author: Roman Tyczka
Date: Sat, 20 Jan 2018 18:06
41 lines
2297 bytes
On Sat, 20 Jan 2018 11:07:08 +0100, Wojtek Gapiński wrote:

>>>> mam przykładowo diva i definiuje mu style:
>>>>
>>>> <div class="pierwsza druga">
>>>>
>>>> jeśli obie klasy definiują tę samą właściwość (np. background-color) to
>>>> brana jest pierwsza (przynajmniej w Fx), czy jest sposób by wymusić by
>>>> druga  klasa styli miała wyższy priorytet i nadpisywała pierwszą?
>>>>
>>>
>>> Można dodać kontekst do drugiej klasy, np.
>>> div.druga
>>> body div.druga
>>>
>>> itd.
>>> Dokładniejsze wskazanie klasy spowoduje jej zastosowanie w miejsce
>>> "pierwsza".
>> 
>> Chodzi mi bardziej o możliwość incdentalnej zmiany priorytetu, czyli na
>> poziomie znacznika html.
>> Ale może tak się nie da.
>> 
> 
> Można jeszcze dodać w klasie, która ma mieć wyższy priorytet, dyrektywę 
> !important, wówczas zostanie użyta ta reguła, niezależnie od kolejności 
> klas i kontekstu.
> Może to Ci pomoże?

Dzięki, !important z pewnością się przyda.

A co do tematu... doczytałem, że to nie kolejność w atrybucie class
decyduje o nadpisywaniu a kolejność styli w ...pliku CSS! To jest dość
kuriozalne, ale przynajmniej jest jasna zasada i warto ją zapamiętać.

ps. nie wiem jak to działa w przypadku kilku plików css ale pewnie tu
decyduje z kolei kolejność importu css przez htmla, ale to trzeba zbadać.

-- 
pozdrawiam
Roman Tyczka
Re: Klasy css i priorytety
#231920
Author: Wojtek Gapiński
Date: Sun, 21 Jan 2018 19:24
17 lines
1582 bytes
W dniu 20-01-2018 o 19:06, Roman Tyczka pisze:

> 
> A co do tematu... doczytałem, że to nie kolejność w atrybucie class
> decyduje o nadpisywaniu a kolejność styli w ...pliku CSS! To jest dość
> kuriozalne, ale przynajmniej jest jasna zasada i warto ją zapamiętać.
> 
> ps. nie wiem jak to działa w przypadku kilku plików css ale pewnie tu
> decyduje z kolei kolejność importu css przez htmla, ale to trzeba zbadać.
> 

To byłoby nawet logiczne: style są "nadpisywane" przez te same reguły 
występujące później w pliku CSS albo w później ładowanym pliku CSS.

-- 
Wojtek Gapiński
http://www.phprogramista.pl
Re: Klasy css i priorytety
#231923
Author: Borys Pogoreło
Date: Mon, 22 Jan 2018 21:00
26 lines
1933 bytes
Dnia Sat, 20 Jan 2018 19:06:05 +0100, Roman Tyczka napisał(a):

> Dzięki, !important z pewnością się przyda.

Traktuj to jako hack. Jedyne praktyczne użycie !important to konieczność
nadpisania stylów zdefiniowanych bezpośrednio w elemencie HTML lub
budowanie responsywnych szablonów e-mail.

> A co do tematu... doczytałem, że to nie kolejność w atrybucie class
> decyduje o nadpisywaniu a kolejność styli w ...pliku CSS! To jest dość
> kuriozalne, ale przynajmniej jest jasna zasada i warto ją zapamiętać.

Niby czemu kuriozalne? Wartości jednego atrybutu są równoważne, a plik jest
przetwarzany sekwencyjnie.

Btw, ta kolejność dotyczy tylko reguł CSS o tej samej wadze. Selektor
bardziej szczegółowy zdefiniowany wcześniej nadal będzie ważniejszy.

> ps. nie wiem jak to działa w przypadku kilku plików css ale pewnie tu
> decyduje z kolei kolejność importu css przez htmla, ale to trzeba zbadać.

Tak

-- 
Borys Pogoreło
borys(#)leszno,edu,pl
Re: Klasy css i priorytety
#231921
Author: Marek S
Date: Sat, 16 Jun 2018 23:18
9 lines
1179 bytes
W dniu 2018-01-18 o 15:14, Roman Tyczka pisze:
> mam przykładowo diva i definiuje mu style:
Jak dla mnie, to wygląda na to, że coś w CSS jest pochrzanione. Przytocz 
kompletny kod. Obstawiam to, że CSS nie zawiera definicji 
costam.pierwsza.druga a zawiera costam.pierwsza druga. Typowy błąd.

-- 
Pozdrawiam,
Marek
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads