Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [HTML][CSS]Powtarzalne ID elementu., Co na to W3C?
lepmajster
post
Post #1





Grupa: Zarejestrowani
Postów: 129
Pomógł: 24
Dołączył: 21.05.2010

Ostrzeżenie: (30%)
XX---


Czesc
Mam pytanie, czy mozna powtarzac ID danego elementu, np tak:
  1. <div class="rysuj_okienko" id="czerwony_kolor">jakas tresc</div>
  2. <div class="rysuj_okienko" id="czerwony_kolor">Inna tresc</div>

Chodzi o to, czy mozna stosowac ID jako dodatkowe atrybuty zdefiniowane wczesniej w CSS.
I czy taki ID mozna bezgranicznie powtarzac, bo spotkalem sie z opinia ze nie wolno tak robic, ze ID powinien byc unikalny dla kazdego elementu.
Tyle ze potrzebne mi cos oprocz class do przypisywania styli, bo np CLASS odpowiada u mnie za narysowanie ogolnego okienka, a ID odpowiadal by za kolorystyke.
Moze jest jakies inne wyjscie.
Mam nadzieje ze jest to zrozumiale, o co mi chodzi.

Druga sprawa padding.
Wiadomo ze ten atrybut rozciaga nam diva, mozna jakos temu zapobiec?
Wiem ze moge odjac od width diva okreslona ilosc px, zeby z paddingiem nadal mial taki rozmiar jak trezba, ale z tego co pamietam niektore przegladarki nie rozszerzaly divow przy paddingu i moze mi sie strona rozjechac.

Ten post edytował lepmajster 21.05.2010, 15:29:12


--------------------
Naciśnij POMÓGŁ, jeśli mój post był pomocny :)
Go to the top of the page
+Quote Post
wookieb
post
Post #2





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Id elementu w całym dokumencie nie może się powtarzać.


--------------------
Go to the top of the page
+Quote Post
tehaha
post
Post #3





Grupa: Zarejestrowani
Postów: 1 748
Pomógł: 388
Dołączył: 21.08.2009
Skąd: Gdynia

Ostrzeżenie: (0%)
-----


Id to identyfikator jak sama nazwa wskazuje służy do identyfikacji i nie powinien się powtórzyć, jeżeli chcesz wielu elementom nadać takie same style css to zrób z tego klasę class="czerwony_kolor"
Go to the top of the page
+Quote Post
Mateusz_Babiarz
post
Post #4





Grupa: Zarejestrowani
Postów: 14
Pomógł: 5
Dołączył: 24.08.2009
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Tylko jeden Id, bo zalozenie jest takie ze ma byc unikalny. Jak bedziesz mial powtorzenia to kazdy validator Ci to wychwyci jako blad.

Co do problemu, to mozesz zrobic np tak :

  1. <div class="rysuj_okienko czerwony_kolor">Inna tresc</div>


albo posluzyc sie DOMem
Go to the top of the page
+Quote Post
lepmajster
post
Post #5





Grupa: Zarejestrowani
Postów: 129
Pomógł: 24
Dołączył: 21.05.2010

Ostrzeżenie: (30%)
XX---


Cytat(tehaha @ 21.05.2010, 16:28:28 ) *
Id to identyfikator jak sama nazwa wskazuje służy do identyfikacji i nie powinien się powtórzyć, jeżeli chcesz wielu elementom nadać takie same style css to zrób z tego klasę class="czerwony_kolor"

Nie rozumiesz mnie, musze narazie uzywac id zeby okna sie roznily.
Bo jesli bede uzywal tylko klasy, to jak drugiemu okienku bede chcial nadac inny kolor, to bede musial praktycznie skopiowac cala klase, nadac jej inna nazwe i zmienic np tylko kolor, przez to dokument css bedzie przepelniony klasami dla kazdego okna osobno.
Narazie id daje rade, bo chcac zmienic kolorystyke w jednym oknie, wystarczy zmienie id.

Cytat(Mateusz_Babiarz @ 21.05.2010, 16:31:26 ) *
Tylko jeden Id, bo zalozenie jest takie ze ma byc unikalny. Jak bedziesz mial powtorzenia to kazdy validator Ci to wychwyci jako blad.

Co do problemu, to mozesz zrobic np tak :

  1. <div class="rysuj_okienko czerwony_kolor">Inna tresc</div>


albo posluzyc sie DOMem

A moglbys przyblizyc mi ten sposob?
Co to jest "rysuj_okienko czerwony_kolor", jak to w css zdefiniowac?


--------------------
Naciśnij POMÓGŁ, jeśli mój post był pomocny :)
Go to the top of the page
+Quote Post
tehaha
post
Post #6





Grupa: Zarejestrowani
Postów: 1 748
Pomógł: 388
Dołączył: 21.08.2009
Skąd: Gdynia

Ostrzeżenie: (0%)
-----


Cytat(lepmajster @ 21.05.2010, 16:25:07 ) *
Wiem ze moge odjac od width diva okreslona ilosc px, zeby z paddingiem nadal mial taki rozmiar jak trezba, ale z tego co pamietam niektore przegladarki nie rozszerzaly divow przy paddingu i moze mi sie strona rozjechac.

padding odejmuje się od szerokości, jedyna przeglądarka która ma z tym problem to IE6 taki że podwaja ten padding i się coś może rozjechać, ale wtedy dodajesz atrybut display:inline; i jest ok

class="rysuj_okienko czerwony_kolo" oznacza że element ma 2 klasy: rysuj_okienko i czerwony_kolo

w css dajesz

.rysuj_okienko{}
.czerwony_kolo

po prostu jednemu elementowi możesz nadać dowolną ilość klas


Ten post edytował tehaha 21.05.2010, 15:36:29
Go to the top of the page
+Quote Post
Pawel_W
post
Post #7





Grupa: Zarejestrowani
Postów: 1 675
Pomógł: 286
Dołączył: 15.06.2009
Skąd: Wieliczka

Ostrzeżenie: (0%)
-----


padding był wliczany w szerokość diva w starszych przeglądarkach, jak np. IE 6.0

teraz wszystkie przeglądarki dodają go do szerokości
Go to the top of the page
+Quote Post
lepmajster
post
Post #8





Grupa: Zarejestrowani
Postów: 129
Pomógł: 24
Dołączył: 21.05.2010

Ostrzeżenie: (30%)
XX---


Cytat(Pawel_W @ 21.05.2010, 16:35:54 ) *
padding był wliczany w szerokość diva w starszych przeglądarkach, jak np. IE 6.0

teraz wszystkie przeglądarki dodają go do szerokości

To troche komplikuje mi sytuacje, bo chcialem stworzyc dynamicznie generowane divy, ze ktos wpisuje w pole szerokosc np 180px i padding np 5px, wtedy div bedzie mial 190px, ale to jeszcze mozna w kodzie php odjac (szerokosc-(2xpadding)), gorzej jak ktos w okienku PADDING: wpisze 5px 0px 5px 5px; wtedy bede musial pierw porozdzielac ten wpis na pojedyncze wartosci i zsumowac left+right i dopiero odjac od szerokosci, ciezka sprawa smile.gif

Cytat(Mateusz_Babiarz @ 21.05.2010, 16:31:26 ) *
Tylko jeden Id, bo zalozenie jest takie ze ma byc unikalny. Jak bedziesz mial powtorzenia to kazdy validator Ci to wychwyci jako blad.

Co do problemu, to mozesz zrobic np tak :

  1. <div class="rysuj_okienko czerwony_kolor">Inna tresc</div>


albo posluzyc sie DOMem

A moglbys przyblizyc mi ten sposob?
Co to jest "rysuj_okienko czerwony_kolor", jak to w css zdefiniowac?

Ten post edytował lepmajster 21.05.2010, 15:41:42


--------------------
Naciśnij POMÓGŁ, jeśli mój post był pomocny :)
Go to the top of the page
+Quote Post
Pawel_W
post
Post #9





Grupa: Zarejestrowani
Postów: 1 675
Pomógł: 286
Dołączył: 15.06.2009
Skąd: Wieliczka

Ostrzeżenie: (0%)
-----


to są prostu 2 oddzielne style smile.gif
  1. .rysuj_okienko {
  2. }
  3. .czerwony_kolor {
  4.  
  5. }

co do problemu z IE to możesz bawić się 'expressions', tylko IE je obsługuje smile.gif

Ten post edytował Pawel_W 21.05.2010, 15:44:21
Go to the top of the page
+Quote Post
lepmajster
post
Post #10





Grupa: Zarejestrowani
Postów: 129
Pomógł: 24
Dołączył: 21.05.2010

Ostrzeżenie: (30%)
XX---


Cytat(Pawel_W @ 21.05.2010, 16:42:50 ) *
to są prostu 2 oddzielne style smile.gif

czyli takie cos?
  1. .rysuj_okno{
  2. width: 180px;
  3. height: auto;
  4. border: 1px solid #000000;
  5. }
  6. .czerwony_kolor {
  7. background: #FF0000;
  8. }

  1. <div class="rysuj_okno czerwony_kolor"></div>

Jesli to faktycznie dziala, to wlasnie o to mi chodzilo smile.gif
Fajnie ze ktos mnie zrozumial, bo trudno mi bylo to wytlumaczyc.
Dzieki wszystkim za pomoc!
Daje Wam pomogl.

PS. A ile takich klas mozna laczyc? winksmiley.jpg

CO DO PADDING, Nie ma innego sposobu?
Cytat(Pawel_W @ 21.05.2010, 16:35:54 ) *
padding był wliczany w szerokość diva w starszych przeglądarkach, jak np. IE 6.0

teraz wszystkie przeglądarki dodają go do szerokości

To troche komplikuje mi sytuacje, bo chcialem stworzyc dynamicznie generowane divy, ze ktos wpisuje w pole szerokosc np 180px i padding np 5px, wtedy div bedzie mial 190px, ale to jeszcze mozna w kodzie php odjac (szerokosc-(2xpadding)), gorzej jak ktos w okienku PADDING: wpisze 5px 0px 5px 5px; wtedy bede musial pierw porozdzielac ten wpis na pojedyncze wartosci i zsumowac left+right i dopiero odjac od szerokosci, ciezka sprawa smile.gif

Ten post edytował lepmajster 21.05.2010, 15:55:26


--------------------
Naciśnij POMÓGŁ, jeśli mój post był pomocny :)
Go to the top of the page
+Quote Post
tehaha
post
Post #11





Grupa: Zarejestrowani
Postów: 1 748
Pomógł: 388
Dołączył: 21.08.2009
Skąd: Gdynia

Ostrzeżenie: (0%)
-----


Cytat(lepmajster @ 21.05.2010, 16:46:21 ) *
PS. A ile takich klas mozna laczyc? winksmiley.jpg

CO DO PADDING, Nie ma innego sposobu?


1.możesz nadawać dowolną ilość klas
2.dodanie atrybutu display:inline likwiduje problem z IE6
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 08:03