Я сделал небольшое приложение-календарь, в которое можно добавлять события с начальной датой и настройками повтора. Так что это может происходить ежедневно, еженедельно или ежемесячно. В этом фрагменте вы можете увидеть текст, если вы выбрали ежедневное повторение.
Теперь я задаюсь вопросом, возможно ли стилизовать поле даты как обычный абзац, у которого все еще есть выпадающий список. Как я мог это сделать?
function rrendClose() {
document.getElementById('dailyText').innerText = "Takes place every day.";
document.getElementById('dailyEnddate').style.visibility = "collapse";
document.getElementById('dailyDismiss').style.visibility = "collapse";
document.getElementById('showFullDaily').style.visibility = "visible";
}
function rrendOpen() {
document.getElementById('dailyText').innerText = "Takes place every day, until";
document.getElementById('dailyEnddate').style.visibility = "visible";
document.getElementById('dailyDismiss').style.visibility = "visible";
document.getElementById('showFullDaily').style.visibility = "collapse";
}
<div class="row">
<p class="pt-1"><p class="ml-3" id="dailyText">Takes place evry day, until</p>
<a id="showFullDaily" class="link" onclick="rrendOpen();" style="visibility: collapse;" >Add enddate</a>
<input name="rrend" class="col-5 form-control border border-dark auto-date" type="date" id="dailyEnddate" value="{{date("d.m.Y")}}">
<button type="button" id="dailyDismiss" class="close col-1" aria-label="Close" onclick="rrendClose();">
<span aria-hidden="true">×</span>
</button></p>
</div>
2
Bronco95
28 Окт 2019 в 16:35
2 ответа
Лучший ответ
Некоторые изменения:
- Удалите стили, связанные с текстовым полем (особенно границы и отступы), а затем заставьте его «наследовать» стили шрифта.
showFullDaily
был переключен на использование свойстваdisplay
вместоvisibility
, поскольку последний, хотя и скрывает элемент видимым образом, оставляет место в том месте, где должен быть текст, а отображение - нет.dailyText
был изменен с тегаp
наspan
, поскольку 1) тегиp
не должны быть вложены друг в друга и 2)span
является встроенным элементом так что он естественно продолжает поток без дополнительных стилей. Все эти изменения вместе позволяют элементу ввода сворачиваться и перемещаться вместе с абзацем.
function rrendClose() {
document.getElementById('dailyText').innerText = "Takes place every day.";
document.getElementById('dailyEnddate').style.visibility = "collapse";
document.getElementById('dailyDismiss').style.visibility = "collapse";
document.getElementById('showFullDaily').style.display = "block";
}
function rrendOpen() {
document.getElementById('dailyText').innerText = "Takes place every day, until";
document.getElementById('dailyEnddate').style.visibility = "visible";
document.getElementById('dailyDismiss').style.visibility = "visible";
document.getElementById('showFullDaily').style.display = "none";
}
#dailyEnddate {
border: none;
padding: 0;
font-family: inherit;
font-size: inherit;
}
<div class="row">
<p class="pt-1"><span class="ml-3" id="dailyText">Takes place evry day, until</span>
<a id="showFullDaily" class="link" onclick="rrendOpen();" style="display: none;" >Add enddate</a>
<input name="rrend" class="col-5 form-control border border-dark auto-date" type="date" id="dailyEnddate" value="{{date("d.m.Y")}}">
<button type="button" id="dailyDismiss" class="close col-1" aria-label="Close" onclick="rrendClose();">
<span aria-hidden="true">×</span>
</button></p>
</div>
1
Quangdao Nguyen
28 Окт 2019 в 14:00
Перейти к CSS и введите:
.row {
display: flex
}
0
Brian Nguyen
28 Окт 2019 в 13:39
Похожие вопросы
Новые вопросы
javascript
По вопросам программирования на ECMAScript (JavaScript / JS) и его различных диалектах / реализациях (кроме ActionScript). Включите все соответствующие теги в свой вопрос; например, [node.js], [jquery], [json] и т. д.