-
1. Data: 2010-04-06 15:04:51
Temat: CSS - ostatni element w wierszu
Od: olo <o...@n...com>
Witam
Potrzebuję rozwiązania lub nakierowania na rozwiązanie, ew. informację,
że "nie da się".
Mam listę <ul> a w niej parenaście <li>. <li> ma display: inline. Teraz:
w zależności od rozdzielczości cała lista zajmie jeden lub więcej
wierszy. Potrzebuję ostylować indywidualnie ostatni element <li> więc
last-child spisuje się jak trzeba. Jednak poza tym potrzebuję ostylować
indywidualnie także każdy ostatni element <li> w wierszu i nie
przychodzi mi nawet do głowy jak zadać googlowi to pytanie (najczęściej
znajduje artykuły dot. last-child). Jeśli się nie da nic się nie dzieje
- to tylko kwestia estetyczna, nie jest to sprawa krytyczna.
Poniżej pokażę graficznie o co mi chodzi gdyby opis powyżej nie był jasny:
| 1 2 3 4 5 |
| 6 7 8 9 10 |
| 11 12 13 14 |
w powyższym chciałbym aby ostylowane były elementy 5, 10 i 14
ale np. w przypadku innego rozmiaru okna:
| 1 2 3 4 5 6 |
| 7 8 9 10 11 12 |
| 13 14 |
miałyby to być 6, 12 i 14
da radę?
--
pozdrawiam!
http://webtrunki.pl - piwa, wina, wódki, domowe wyroby
http://en.webtrunki.pl - beers, wines, vodkas, your own products
-
2. Data: 2010-04-06 16:17:45
Temat: Re: CSS - ostatni element w wierszu
Od: beherit / pn <b...@s...firenet.eu.org>
olo wrote:
> Witam
>
> Potrzebuję rozwiązania lub nakierowania na rozwiązanie, ew. informację,
> że "nie da się".
>
> Mam listę <ul> a w niej parenaście <li>. <li> ma display: inline. Teraz:
> w zależności od rozdzielczości cała lista zajmie jeden lub więcej
> wierszy. Potrzebuję ostylować indywidualnie ostatni element <li> więc
> last-child spisuje się jak trzeba. Jednak poza tym potrzebuję ostylować
> indywidualnie także każdy ostatni element <li> w wierszu i nie
> przychodzi mi nawet do głowy jak zadać googlowi to pytanie (najczęściej
> znajduje artykuły dot. last-child). Jeśli się nie da nic się nie dzieje
> - to tylko kwestia estetyczna, nie jest to sprawa krytyczna.
>
> Poniżej pokażę graficznie o co mi chodzi gdyby opis powyżej nie był jasny:
>
> | 1 2 3 4 5 |
> | 6 7 8 9 10 |
> | 11 12 13 14 |
>
> w powyższym chciałbym aby ostylowane były elementy 5, 10 i 14
>
> ale np. w przypadku innego rozmiaru okna:
>
> | 1 2 3 4 5 6 |
> | 7 8 9 10 11 12 |
> | 13 14 |
>
> miałyby to być 6, 12 i 14
>
> da radę?
>
Wydaje się, że na resize i onload wypadałoby JSem zgrabbować szerokości:
- okna ew. kontenera oplatającego Twoje <ul>,
- Twoich <li>
i odpowiednio po prostych wyliczeniach na dane <li> nałożyć to co sobie
życzysz.
Pozdr,
Paweł
http://www.odpoczac.pl http://www.24nocleg.pl http://www.urlopwczasy.pl
http://www.turea.pl http://www.teleit.pl http://www.zgarniam.pl
-
3. Data: 2010-04-06 16:26:59
Temat: Re: CSS - ostatni element w wierszu
Od: Giecze <czechowski@post.#skasujto#.pl>
Witaj,
> Potrzebuję rozwiązania lub nakierowania na rozwiązanie, ew. informację,
> że "nie da się".
>
> Mam listę <ul> a w niej parenaście <li>. <li> ma display: inline. Teraz:
> w zależności od rozdzielczości cała lista zajmie jeden lub więcej
> wierszy. Potrzebuję ostylować indywidualnie ostatni element <li> więc
> last-child spisuje się jak trzeba. Jednak poza tym potrzebuję ostylować
> indywidualnie także każdy ostatni element <li> w wierszu i nie
> przychodzi mi nawet do głowy jak zadać googlowi to pytanie (najczęściej
> znajduje artykuły dot. last-child). Jeśli się nie da nic się nie dzieje
> - to tylko kwestia estetyczna, nie jest to sprawa krytyczna.
>
> Poniżej pokażę graficznie o co mi chodzi gdyby opis powyżej nie był jasny:
>
> | 1 2 3 4 5 |
> | 6 7 8 9 10 |
> | 11 12 13 14 |
>
> w powyższym chciałbym aby ostylowane były elementy 5, 10 i 14
>
> ale np. w przypadku innego rozmiaru okna:
>
> | 1 2 3 4 5 6 |
> | 7 8 9 10 11 12 |
> | 13 14 |
>
> miałyby to być 6, 12 i 14
Na poziomie CSS wątpię (to chyba niezgodne z ideą CSS ogólnie).
Kombinowałbym z JS szukając <li> z "poprzednikiem" o niższej pozycji X i
nadając mu żądane atrybuty. (daj znać jeśli Ci się uda)
Grzegorz
-
4. Data: 2010-04-06 16:31:19
Temat: Re: CSS - ostatni element w wierszu
Od: Giecze <czechowski@post.#skasujto#.pl>
Giecze wrote:
..
> z "poprzednikiem" o niższej pozycji X
tfu, "następcą"...
GC
-
5. Data: 2010-04-06 16:43:23
Temat: Re: CSS - ostatni element w wierszu
Od: olo <o...@n...com>
W dniu 06.04.2010 18:17, beherit / pn pisze:
> Wydaje się, że na resize i onload wypadałoby JSem zgrabbować szerokości:
> - okna ew. kontenera oplatającego Twoje <ul>,
> - Twoich <li>
> i odpowiednio po prostych wyliczeniach na dane <li> nałożyć to co sobie
> życzysz.
>
thx za odzew. Spróbowałem to zrobić i coś nie bardzo mi działa.
Raz, że walidator twierdzi, że atrybutu onload jak i onresize nie ma
(html 4.01 strict). No i nie działają. Nadając te atrybuty przy pomocy
javascript także nic się nie dzieje - tzn. konsola błędów nie wyświetla
żadnych problemów, ale funkcja przypisana do zdarzenia nie wykonuje się
Patrząc na http://htmlhelp.shl.pl/html/komendy/ul.php wychodzi, że
istnieje takie zdarzenie jak onresize. Orłem w javascript nie jestem,
ale wydawało mi się, że JS DOM rozumiem i do tej pory proste skrypciki
sobie pisałem.
--
pozdrawiam!
http://webtrunki.pl - piwa, wina, wódki, domowe wyroby
http://en.webtrunki.pl - beers, wines, vodkas, your own products
-
6. Data: 2010-04-06 17:05:40
Temat: Re: CSS - ostatni element w wierszu
Od: olo <o...@n...com>
W dniu 06.04.2010 18:26, Giecze pisze:
> Na poziomie CSS wątpię (to chyba niezgodne z ideą CSS ogólnie).
> Kombinowałbym z JS szukając<li> z "poprzednikiem" o niższej pozycji X i
> nadając mu żądane atrybuty. (daj znać jeśli Ci się uda)
>
jest to dekoracja (subtelna), więc może być w JS. Zmontowałem coś takiego:
<script type="text/javascript">
var obj = document.getElementById("menu-static-top");
var lis = obj.getElementsByTagName("li");
for (i=0; i<lis.length; i++) {
if (i+1<lis.length) {
li = lis[i];
li_n = lis[i+1];
if (li_n.offsetTop > li.offsetTop) {
li.style.borderRight = 0;
}
}
}
</script>
działa dobrze. Potrzebuję to teraz zamknąć w funkcję i przypisać do
zdarzenia onresize, które jak pisałem w poprzednim poście coś mi nie
działa.
--
pozdrawiam!
http://webtrunki.pl - piwa, wina, wódki, domowe wyroby
http://en.webtrunki.pl - beers, wines, vodkas, your own products
-
7. Data: 2010-04-07 15:00:33
Temat: Re: CSS - ostatni element w wierszu
Od: olo <o...@n...com>
W dniu 06.04.2010 19:05, olo pisze:
> działa dobrze. Potrzebuję to teraz zamknąć w funkcję i przypisać do
> zdarzenia onresize, które jak pisałem w poprzednim poście coś mi nie
> działa.
>
metodą kombinowania i szukania znalazłem, że onresize zadziała dla body
(chociaż validator i tak go nie pochwala). Niemniej to i tak nie jest to
o co głównie mi chodziło, bo zdarzenie nie wywołuje się w momencie
zwiększania rozmiaru czcionki np. w firefox (mam na myśli ctrl + "+") w
momencie gdy mamy wyłączone proporcjonalne zoomowanie, a na tym by mi
głównie zależało
--
pozdrawiam!
http://webtrunki.pl - piwa, wina, wódki, domowe wyroby
http://en.webtrunki.pl - beers, wines, vodkas, your own products