javascript - 如何使此 HTML 按钮居中并确保其位置不变?
问题描述
我制作了一个按钮,可以使用 Chuck Norris API 生成随机 Chuck Norris 事实。
我试图将按钮本身和生成事实的 h3 元素居中。但是,由于每次单击按钮时都会生成不同的事实(有些事实很短,有些很长),“生成”按钮会上下移动。
我想确保此按钮保持静态,并在其下方生成每个事实。
async function generate() {
const getdata = await fetch('https://api.chucknorris.io/jokes/random');
const response = await getdata.json();
document.querySelector("h3").innerText = response.value;
}
.container {
display: flex;
flex-wrap: wrap;
flex-direction: column;
justify-content: center;
align-items: center;
height: 100vh;
width: 100%;
}
<div class="container">
<button type="button" class="btn btn-warning button" onclick="generate()">GENERATE</button>
<h3 class="info"></h3>
</div>
解决方案
一种方法是将内容包装在一个 div 中,并给它一个高度。固定高度会停止移动,因为它没有将自动高度 div 居中。
这种方法带有一个警告,如果事实大于包装器,它将溢出,低于 div。因此,根据页面中发生的其他情况,您可能需要填充或注意这一点。
async function generate (){
const getdata = await fetch('https://api.chucknorris.io/jokes/random');
const response = await getdata.json();
document.querySelector("h3").innerText = response.value;
}
.container{
display: flex;
flex-wrap: wrap;
flex-direction: column;
justify-content: center;
align-items: center;
height: 100vh;
width:100%;
}
.wrapper {
height:100px;
text-align: center;
}
<!DOCTYPE html>
<html>
<head>
<title>Chuck Norris Random</title>
<!-- CSS only -->
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css" integrity="sha384-9aIt2nRpC12Uk9gS9baDl411NQApFmC26EwAOH8WgZl5MYYxFfc+NcPb1dKGj7Sk" crossorigin="anonymous">
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<div class="container">
<div class="wrapper">
<button type="button" class="btn btn-warning button" onclick="generate()">GENERATE</button>
<h3 class="info"></h3>
</div>
</div>
<script type="text/javascript" src="script.js"></script>
</body>
</html>
推荐阅读
- kubernetes - Kubernetes 容器从其他容器中抓取变量
- swift - 你可以在消失时为 SwiftUI 视图设置动画吗?
- sql - 修改 oledb 数据适配器更新命令
- spring-security - Spring LDAP Basic Auth缓存一些客户端但不缓存其他客户端
- json - 使用 jq 将带有可变键的嵌套 JSON 用于 TSV
- pyspark - Is there any way to merge the csv part files stored in ADLSGen2 using pyspark without converting the dataframe into python
- css - How to change the colour of ReactSelect component?
- python-3.x - 使用 crontab 运行 Python 脚本时出现 FileNotFoundError
- javascript - Open blob file stored in indexDB on ios/Ipad
- python - S3 presigned url doesn't work when generated with a lambda function