Hinnavaatlus
:: Foorum
:: Uudised
:: Ärifoorumid
:: HV F1 ennustusvõistlus
:: Pangalink
:: Telekavad
:: HV toote otsing
|
autor |
|
Aq
HV kasutaja
liitunud: 01.01.2003
|
08.07.2013 12:01:33
CSS text-decoration ja alamelemendid |
|
|
Sattusin huvitava fenomeni otsa, mida ei oska ise seletada. Mul on CMS, mis genereerib menüüelemendid LI loenditena ja paneb aktiivsele loendielemendile külge klassi .current. Miskipärast ei suuda ma aga teha nii, et text-decoration: underline kehtiks ainult selle .current klassiga elemendi, mitte selle alamelementide kohta. Kas keegi oskab öelda, miks allpool toodud koodis CSSi teine rida suudab üle kirjutada küll teksti värvi, aga ei suuda üle kirjutada text-decoration väärtust:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="et" lang="et">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
<style type="text/css">
.current { text-decoration: underline; color: blue; }
.current ul li { text-decoration: none; color: red; }
</style>
</head>
<body>
<ul>
<li>Esimene</li>
<li class="current">Teine
<ul>
<li>Alampunkt üks</li>
<li>Alampunkt kaks</li>
</ul>
</li>
<li>Kolmas</li>
</ul>
</body>
</html> |
Ja mis oleks mõistlik viis (ilma alamelementidele klassi määramata) saavutamaks seda, et .current element oleks allajoonitud, aga selle alamelemendid ei oleks allajoonitud?
|
|
Kommentaarid: 4 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
4 |
|
tagasi üles |
|
 |
19Mart94
HV kasutaja
liitunud: 22.06.2010
|
08.07.2013 12:32:27
|
|
|
text-decoration-i ei saa nii eemaldada (http://www.w3.org/TR/CSS21/text.html#propdef-text-decoration). Mida mina teeksin - muudaksin CMSi generaatorit seal, kus lisatakse current klass (et tulemus tuleks järgnev):
html:
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="et" lang="et"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> .current {color: blue;} .current span { text-decoration: underline; } .current ul li { color: red; } </style> </head> </ul> </li> </ul> </body> </html>
|
|
|
Kommentaarid: 33 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
31 |
|
tagasi üles |
|
 |
Renka
HV Guru

liitunud: 01.04.2002

|
08.07.2013 12:36:51
|
|
|
Aq, ma ei oska seda nüüd hästi seletada aga pmst kõik on õige. Underline tekibki .current classiga elemendile. Kogu (inline) sisu mis seal sees on saab siis selle underline omale. Sa ei saa aga child elemendiga muuta parenti CSSi. Ehk siis .current ul li selector muudab selle sisus oleva elemendi text-decoration'it kuid mitte parenti oma. Antud juhul aga underline tekibki puhtalt parenti külge.
Loodetavasti said aru - ma ei oska seda kahjuks paremini seletada
Samas kui sa räägid, et tegu on menüüga siis peaks seal sisus olema ju ka lingid? Ehk siis selline HTML struktuur nagu allpool näha võid. Sellisel juhul saad ju underline'ga mängida A elemendi peal.
html:
|
<li class="current"><a>Teine </a> </ul> </li> </ul>
|
_________________ There is no place like 127.0.0.1 |
|
Kommentaarid: 71 loe/lisa |
Kasutajad arvavad: |
   |
:: |
2 :: |
1 :: |
61 |
|
tagasi üles |
|
 |
Aq
HV kasutaja
liitunud: 01.01.2003
|
09.07.2013 09:40:28
|
|
|
Jah, saadetud puhtas HTML/CSS koodis on tõesti võimalik A elemendi peal tegutseda, aga CMSis on niisugune CSS reeglite rägastik, et see ei hakka päris nii tööle. Pean vist jah ikka CMS koodi kallale minema ja veidi korda majja lööma
|
|
Kommentaarid: 4 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
4 |
|
tagasi üles |
|
 |
Renka
HV Guru

liitunud: 01.04.2002

|
09.07.2013 09:43:09
|
|
|
Aq, mismõtttes ei hakka tööle? Kõike saab CSSis üle kirjutada ju.
_________________ There is no place like 127.0.0.1 |
|
Kommentaarid: 71 loe/lisa |
Kasutajad arvavad: |
   |
:: |
2 :: |
1 :: |
61 |
|
tagasi üles |
|
 |
Aq
HV kasutaja
liitunud: 01.01.2003
|
09.07.2013 10:34:14
|
|
|
Jah, isegi leidsin õiged kohad üles!
Tegemist on ühe responsive kujundusega, mis kirjutabki iga ekraanimõõdu jaoks ennast korduvalt üle + custom CSS kliendilt jne. Selles orienteerumine ajab pea päris segamini Aga jah, sain pihta kus ja mida pean tegema. Tänud praegu!
|
|
Kommentaarid: 4 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
4 |
|
tagasi üles |
|
 |
|
lisa lemmikuks |
|
|
sa ei või postitada uusi teemasid siia foorumisse sa ei või vastata selle foorumi teemadele sa ei või muuta oma postitusi selles foorumis sa ei või kustutada oma postitusi selles foorumis sa ei või vastata küsitlustele selles foorumis sa ei saa lisada manuseid selles foorumis sa võid manuseid alla laadida selles foorumis
|
|