问题描述
在Firefox上,我遇到一个问题,即日期选择器图标未出现在文本框中,因为它在Chrome和Edge上显示的位置。 下面是代码行和屏幕截图,请检查并告诉我在firefox上显示的方法是什么
<input type="date" required="required" class="formInput">
on chrome icon appears as in this image
on Edge icon appears as in this image
* on Firefox icon disappears as in this image*
解决方法
输入的UI取决于浏览器more info。
您可以使用jQuery实现自定义设计(因此在所有浏览器中它始终显示相同的外观)。 Like here。
,Firefox不会这样做,但是,我将按照以下方式进行处理:
div之外的输入用于其他浏览器。 div内的那个用于Firefox。我使用JS来检测浏览器并采取相应措施,将它们隐藏起来。
请注意,您需要下载日历图标和img src。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<title>Document</title>
</head>
<body>
<div class="firefox" style="border: 1px solid #DDD; width:max-content;">
<input style="border: none;" type="date" id="start" name="trip-start" value="2018-07-22" min="2018-01-01"
max="2018-12-31">
<img src="calendar.png" style="width:15px; padding:10px 15px 0px 0px" />
</div>
<input class="anotherBrowser" style="border: none;" type="date" id="start" name="trip-start" value="2018-07-22"
min="2018-01-01" max="2018-12-31">
<script>
// Detect Firefox 1.0+
var isFirefox = typeof InstallTrigger !== 'undefined';
//Hide
if (isFirefox) {
document.querySelector(".anotherBrowser").style.display = "none";
} else {
document.querySelector(".firefox").style.display = "none";
}
</script>
</body>
</html>
,
当我们使用输入类型=“ date”时,我能够解决datepicker图标在输入文本框中消失的问题。它适用于Chrome,Firefox,Edge。 以下是我在div上使用并应用过的CSS
`
.cal-wrp {
position: relative;
background-color: white;
margin-bottom: 16px;
}
.btnCal-wrp {
display: inline-block;
width: 100%;
position: relative;
z-index: 10;
}
.btnCal-click {
border: 0.0625rem solid #cfd0d3;
background-color: transparent;
width: 100%;
padding: 0.75rem;
cursor: pointer;
border-radius: 0;
font-size: 0.875rem;
line-height: 1.4;
}
.btnCal-click::-webkit-calendar-picker-indicator {
right: -10px;
position: absolute;
width: 78px;
height: 40px;
color: rgba(204,204,0);
opacity: 0;
}
.btnCal-click::-webkit-inner-spin-button {
-webkit-appearance: none;
}
.btnCal-click::-webkit-clear-button {
margin-right: 75px;
}
.btnCal {
background: transparent;
border: none;
color: black;
padding: 13px;
position: absolute;
right: 0;
top: 0;
}
`
日历文本框代码:
`
<div class="cal-wrp">
<div class="btnCal-wrp">
<input class="btnCal-click" type="date" required>
</div>
<button class="btnCal"><span class="fa fa-calendar"></span></button>
</div>
`