Поэтому я пытаюсь создать веб-приложение с div с таблицей в левой половине экрана и div, полный текстовых полей и материалов для редактирования объектов из таблицы справа. На мобильном телефоне, однако, я пытаюсь сделать оба divs равными 100% экрана, при этом первый слева появляется, и если щелкнут объект в его таблице, div справа переместится поверх него.
В настоящее время я использую абсолютное позиционирование, чтобы страницы выглядели правильно, и я просто установил правый div слева равным 100% страницы, а затем повернул его дисплей до нуля. И когда щелкнут объект внутри левого div, он превращает отображение правого div в блок и устанавливает слева на 0. Я включил CSS3 Transitions, чтобы попытаться заставить это сделать эффект скольжения. Я также должен сделать все это в кодовом коде ASP.NET, поскольку это тот проект, в котором он находится. Поэтому вместо того, чтобы использовать JQuery для переключения классов, я должен использовать С# для этого. Я не знаю, вызвала ли эта проблема, и если что-нибудь могу с этим поделать.
Вот соответствующий HTML:
<div class="section admin_body">
<div class="container left">
[[table and other stuff here]]
</div>
<div class="container right" id="RightContainer" runat="server">
[[other stuff here]]
</div>
</div>
И некоторые CSS:
.section.admin_body {
margin: 1rem 0;
position: relative;
background: none;
border: none;
}
.container.left {
position: absolute;
top: 0;
left: 0;
width: 99%;
border: .1em solid #aaa;
background: #eee;
border-radius: 3px;
padding-bottom: 1rem;
z-index: 1;
}
.container.right {
display: none;
position: absolute;
top: 0;
left: 100%;
width: 99%;
border: .1em solid #aaa;
background: #eee;
border-radius: 3px;
z-index: 99;
-webkit-transition: left 2s linear;
-moz-transition: left 2s linear;
-o-transition: left 2s linear;
transition: left 2s linear;
}
.container.right.selected {
display: block;
left: 0;
}
И, наконец, С#:
protected internal void LoadCase(object sender, EventArgs e)
{
...
BindData();
LoadHeader();
RightContainer.Attributes.Add("class", "container right selected");
}
У меня есть все для работы, кроме части переходов CSS. Никакого скользящего эффекта вообще нет. Опять же, я не уверен, что это связано с тем, что я использую С# для привязки данных до того, как попытаюсь запутаться с классами, которые активируют переходы. Если кто-нибудь знает, что я делаю неправильно, я бы очень признателен за помощь!
переходы, по моему мнению, реагируют на действия мыши на стороне клиента
попробуйте это, чтобы увидеть, есть ли эффект:
.container.right {
display: none;
position: absolute;
top: 0;
left: 100%;
width: 99%;
border: .1em solid #aaa;
background: #eee;
border-radius: 3px;
z-index: 99;
}
.container.right:hover {
display: block;
left: 0;
-webkit-transition: left 2s linear;
-moz-transition: left 2s linear;
-o-transition: left 2s linear;
transition: left 2s linear;
}
Если у вас нет элементов Html в UpdatePanel, установка CSS с помощью кода позади не будет работать. Класс CSS будет в браузере с самого начала, поэтому вы не увидите никаких анимаций, переходящих из одного стиля в другой.
Возможно, вы сможете достичь этого эффекта, используя UpdatePanel или другой метод Ajax, не можете ли вы вообще писать javascript в WebForm?
RightContainer
? Вы показываете вывод HTML ...