Приветствую вас, уважаемые обитатели форума! По наводке Fell-x27 Полез в анимации CSS 3. Ибо jQuery конечно хорош, но не всегда уместен. Внимание! Слабонервным дальше не читать, ибо вопрос, возможно, глупый! Возник вопрос, можно ли с помощью CSS сделать блок задвигающийся за пределы экрана по нажатию. Видел конструкции с вложенными селекторами и подумал "Будет так работать или нет" (так, как ниже). Пытаюсь сделать так: HTML: <div id="chbxCont"> <input type="checkbox" id="chbx" /> </div> Код (CSS): #chbx:checked { #chbxCont {margin-left:-150px;} } Если прокатит, то можно сделать label и дальше думаю не надо объяснять как это работает)) Заранее благодарю за терпимость.
Изначальная задумка предполагала, что останется краешек, кликнув по которому можно будет его потом выдвинуть обратно. Но всё равно большое спасибо за новые знания. За это время пришла в голову еще одна мысль, ща проверю и выложу...
В общем, сырая версия выглядит вот так: HTML: <label id="chbxCont"><input type="checkbox" id="chbx" /> Здесь могла быть Ваша реклама</label> Код (CSS): #chbxCont { padding:5px; border:1px solid #ffaaaa; margin:10px 10px 10px 0px; background-color:#ffffff; } #chbx { transition:1s; } #chbx:checked { margin-left:-200px; } Остается только спрятать сам чек бокс. А теперь можно почитать критику ибо это использование не по назначению. Но ИМХО выглядит интересно...
Анимировать маржины, паддинги и прочие топы-лефты чисто вот для анимации никогда не стоит. Плавные переходы на изменения этих значений можно ставить, но использовать их самих для движения чего-то нельзя. Это вызвает каскадный пересчет DOM-а. Используй свойство transformation CSS3.
У тебя там используется Код (Text): -webkit-transition Так делать тоже не стоит. Во-первых, это префиксное свойство, которое не будет работать в том же фаерфоксе. Во-вторых, transition уже несколько как в префиксах не нуждается.
По поводу вендорных префиксов знаю,просто не стал перечислять все, так как пытался визуализировать идею ТС,за линк спасибо,добавил в закладки