Есть: Код (Text): <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta charset="UTF-8"> <style> .toggle-box { display: none; } .toggle-box + label { cursor: pointer; display: block; font-weight: normal; line-height: 21px; margin-bottom: 5px; border: solid 1px #8FA7BB; } .toggle-box + label + div { display: none; margin-bottom: 10px; } .toggle-box:checked + label + div { display: block; } .toggle-box + label:before { background-color: #8FA7BB; color: #FFFFFF; content: "▼"; display: block; float: left; font-size: 12px; font-weight: bold; height: 16px; line-height: 16px; margin: 2px 5px 0px; text-align: center; width: 16px; } .toggle-box:checked + label:before { content: "▲"; } </style> </head> <body> <input class="toggle-box" id="id-1" type="checkbox"> <label for="id-1">Группа 1</label> <div>Текст</div> <input class="toggle-box" id="id-2" type="checkbox"> <label for="id-2">Группа 2</label> <div>Текст</div> </body> </html> Хочу добавить после заголовка "группа" менюшку а-ля редактировать. и чтоб появлялась onhover. Для этого добавляю div class="editmenu" и в css .editmenu {display:none;} и .toggle-box:hover + .editmenu {display:inline;} Получается: Код (Text): <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta charset="UTF-8"> <style> .toggle-box { display: none; } .toggle-box + label { cursor: pointer; display: block; font-weight: normal; line-height: 21px; margin-bottom: 5px; border: solid 1px #8FA7BB; } .toggle-box + label + div { display: none; margin-bottom: 10px; } .toggle-box:checked + label + div { display: block; } .toggle-box + label:before { background-color: #8FA7BB; color: #FFFFFF; content: "▼"; display: block; float: left; font-size: 12px; font-weight: bold; height: 16px; line-height: 16px; margin: 2px 5px 0px; text-align: center; width: 16px; } .toggle-box:checked + label:before { content: "▲"; } .editmenu { display:none; } .toggle-box:hover + .editmenu { display:inline; } </style> </head> <body> <input class="toggle-box" id="id-1" type="checkbox"> <label for="id-1">Группа 1<div class="editmenu">edit</div></label> <div>Текст</div> <input class="toggle-box" id="id-2" type="checkbox"> <label for="id-2">Группа 2<div class="editmenu">edit</div></label> <div>Текст</div> </body> </html> подскажите почему <div class="editmenu">edit</div> не появляется?
не помню. Код (Text): <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta charset="UTF-8"> <style> .editmarker { display: none; } .edit:hover + .editmarker { display: inline; } </style> </head> <body> <span class="edit"><label>Mytext</label></span><img class="editmarker" src="img/edit16.png" /> <br> <span class="edit"><label>Mytext</label></span><img class="editmarker" src="img/edit16.png" /> </body> </html> но ведь вне раскрывающихся конструкций (см выше) работает?! и с class и с id
Ну так посмотри в документацию, чтобы перепроверить, всё ли правильно делаешь. Или мне за тебя это смотреть?
Ну так, уважаемый капитан очевидность, я и посмотрел и не нашел и после двух дней мытарств пришел сюда к вам за помощью. И вижу две конструкции, работающие независимо друг от друга, но не работающие при смешении. Гугл пользовал, форумный поиск пользовал, правил форума не нарушил. Вы уж извините, но я вполне четко сформулировал вопрос, но вы упорно продолжаете меня отправлять в неизвестном направлении вместо совета. Или для вас ткнуть пальцем в нужную страницу мануала, новичку в памперсе, не комильфо? Или уж на крайний случай, как умудренному опытом швырнуть в меня этим мануалом и гордо удалиться? (наверняка, по вашему мнению, я сейчас веду себя, как новобранское хамло, но толку от ваших замечаний нет)
правильно. display должен вроде как поменяться при hover. я вообще сначала hover вешал на label, но не работало. я решил, что toggle-box "выше" и просто закрывает собой label и перебрался на него. но снова не работает даже если добавить Код (Text): .toggle-box:checked + label + .editmenu { display: inline; } чтоб срабатывало на checked, то не работает. может беда в том что editmenu расположен в label, а не рядом но тогда моих познаний на другой вариант появления кнопки не хватает.
да, должны быть рядом. тебе так нужно? https://stackoverflow.com/questions/1462360/css-hover-one-e ... 68#1462568
да. вот код из примера, приближенный к моим потребностям: Код (Text): <html> <style type="text/css"> .layer { display: inline; } .editico { display: none; } .section:hover .editico { display: inline; } </style> </head> <body> <div class="section"> <div class="layer">group 1</div> <img class="editico" src="myImage.jpg" /> </div> <div class="section"> <div class="layer">group 2</div> <img class="editico" src="myImage.jpg" /> </div> </body> работает. т.е. при hover section появляется editico теперь пытаюсь вживить в свой код. добавляю: Код (Text): .layer { display: inline; } .editico { display: none; } .toggle-box:hover .editico { display: inline; } section заменен на toggle-box, как главный во всей связке и управляющий всеми остальными элементами. и: Код (Text): <input class="toggle-box" id="id-1" type="checkbox"> <label class="layer" for="id-1">Группа 1</label><img class="editico" src="myImage.jpg" /> <div>Текст</div> просто img после label (не внутри, а рядом) в итоге: Код (Text): <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta charset="UTF-8"> <style> .toggle-box { display: none; } .layer { display: inline; } .editico { display: none; } .toggle-box:hover .editico { display: inline; } .toggle-box + label { cursor: pointer; display: block; font-weight: normal; line-height: 21px; margin-bottom: 5px; border: solid 1px #8FA7BB; } .toggle-box + label + div { display: none; margin-bottom: 10px; } .toggle-box:checked + label + div { display: block; } .toggle-box + label:before { background-color: #8FA7BB; color: #FFFFFF; content: "▼"; display: block; float: left; font-size: 12px; font-weight: bold; height: 16px; line-height: 16px; margin: 2px 5px 0px; text-align: center; width: 16px; } .toggle-box:checked + label:before { content: "▲"; } </style> </head> <body> <input class="toggle-box" id="id-1" type="checkbox"> <label class="layer" for="id-1">Группа 1</label><img class="editico" src="myImage.jpg" /> <div>Текст</div> </body> </html> запускаем и видим, что конструкция input-label-div при добавлении img перестает работать. печаль. правлю: Код (Text): .toggle-box + label + img + div { display: none; margin-bottom: 10px; } .toggle-box:checked + label + img + div { display: block; } добавляю + img для соблюдения цепочки. div начинает скрываться и появляться при chcked, но hover ка не работал так и не рабоает. есть мысли? если убрать: Код (Text): .toggle-box:hover .editico { display: inline; } если сделать: Код (Text): .toggle-box + label + img + div { display: none; margin-bottom: 10px; } .toggle-box:checked + label + img { display: inline; } .toggle-box:checked + label + img + div { display: block; } то checked появляет картинку, но хочется hover