我正在测试一个字体很棒的微调器。我想在它上面或下面有一行文本,理想情况下是一行(但仍然与bootstrap集成)。下面的代码显示了微调器下方的文本,但文本不在一行中。设置spinner-text{width}
属性可以将它放在一行上,但它不会以图标为中心,也不会在窗口大小改变时使用引导程序调整大小。
我的HTML:
<div class="center-parent" id="spinner">
<div class="center-container">
<i class="fa fa-cog fa-spin"></i>
<span class="spinner-text">Please wait while we gather data from wherever...</span>
</div>
</div>
我的CSS:
.center-parent {
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
width: 100%;
height: 100%;
z-index: -1;
}
.center-container {
width: 0 auto;
height: 0 auto;
font-size: 40px;
position: absolute;
top: 50%;
left: 50%;
margin-top: -30px;
margin-right: 0;
margin-bottom: 0;
margin-left: -30px;
z-index: -1;
}
.spinner-text {
margin: 0 auto;
display: table;
width: 100%;
height: 0 auto;
font-size: 20px;
position: absolute;
text-align: center;
}
我使用以下JavaScript测试微调器:
<script type="text/javascript">
var spinnerVisible = false;
$(document).ready(function () { showSpinner() });
function showSpinner() {
if (!spinnerVisible) {
$("div#spinner").fadeIn("fast");
spinnerVisible = true;
}
setTimeout(hideSpinner, 4000);
};
function hideSpinner() {
if (spinnerVisible) {
var spinner = $("div#spinner");
spinner.stop();
spinner.fadeOut("fast");
spinnerVisible = false;
}
};
</script>
我调查了以下内容并没有找到解决办法:
Font awesome icon button with label below
Center text above font awesome icon?
答案 0 :(得分:2)
你在示例中使它太复杂了。它可以用更简单的标记和CSS flexbox来完成,我建议使用固定而不是绝对位置,因此它总是可以覆盖整个视口。
var spinnerVisible = false;
$(document).ready(function() {
showSpinner()
});
function showSpinner() {
if (!spinnerVisible) {
$("div#spinner").fadeIn("fast");
spinnerVisible = true;
}
setTimeout(hideSpinner, 4000);
};
function hideSpinner() {
if (spinnerVisible) {
var spinner = $("div#spinner");
spinner.stop();
spinner.fadeOut("fast");
spinnerVisible = false;
}
};
.spinner-container {
position: fixed;
top: 0;
bottom: 0;
left: 0;
right: 0;
z-index: -1;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
}
.spinner-container .fa {
font-size: 30px;
}
<link href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="spinner-container" id="spinner">
<i class="fa fa-cog fa-spin"></i>
<span class="spinner-text">Please wait while we gather data from ...</span>
</div>