<body style=" background-image: url(image/bk8.gif); background-size: cover; background-repeat: no-repeat; color:pink;"> <div class="container" > <h1 style="font-size:30px;text-align:center; text-color:#B0E0E6">Login</h1> <div class="input-group"> <label id="username-label">请输入用户名:</label> <input type="text" id="username" name="username"> </div> <div class="input-group"> <label>请输入密码:</label> <input type="password" id="password" name="password"> </div> <div class="input-group"> <label>请选择用户类型:</label> <select id="user-type" name="user-type" onchange="showAdminInput()"> <option value="normal">普通用户</option> <option value="admin">管理员</option> </select> </div> <button class="login-btn" onclick="login()">GO</button> </div> </body>为什么label好text不在同一行
时间: 2023-07-19 21:39:25 浏览: 186
在上述代码中,label和input元素不在同一行的原因可能是因为它们被包含在一个div元素中,并且该div元素使用了默认的display属性值"block",这会导致它们在不同的行上显示。如果您想让它们在同一行上显示,可以尝试使用CSS的flexbox布局或者修改div元素的display属性值为"inline-block"或"inline"。例如,将以下代码添加到CSS样式中可以使得label和input在同一行上显示:
```
.input-group label, .input-group input {
display: inline-block;
vertical-align: middle;
}
```
这里使用了inline-block属性来让label和input在同一行上显示,并且使用了vertical-align属性来垂直居中它们。
相关问题
.input-group { margin-bottom: 10px; } .input-group label { display: block; margin-bottom: 5px; } .input-group input { width: 100px; padding: 5px; border: 1px solid #ccc; border-radius: 4px; box-sizing: border-box; } .input-group select { width: 100px; padding: 5px; border: 1px solid #B0E0E6; border-radius: 4px; box-sizing: border-box; } .login-btn { width: 100%; height: 10px; background-color: #aaffaa; color: #fff; padding: 30px 25px; border-radius: 4px; cursor: pointer; float: right; box-sizing: border-box; } .container div input:focus { background-color: #ffe4e1; } .login-btn:hover { background-color: #45a049; } </style> <script> function showAdminInput() { var userType = document.getElementById("user-type").value; if (userType == "admin") { document.getElementById("username-label").innerHTML = "管理员用户名:"; } else { document.getElementById("username-label").innerHTML = "请输入用户名:"; } } function login() { var username = document.getElementById("username").value; var password = document.getElementById("password").value; var userType = document.getElementById("user-type").value; } </script> </head> <body style="background-image: url(image/bk8.gif); background-size: cover; background-repeat: no-repeat;color: pink;"> <div class="container" > <h1 style="font-size: 40px; text-align: center; text-color: #B0E0E6">Login</h1> <div class="input-group" > <label id="username-label">请输入用户名:</label> <input type="text" id="username" name="username" style="border-bottom: 1px solid black;padding-bottom: 2px;display:inline-block;"> </div> <div class="input-group" > <label>请你输入密码:</label> <input type="password" id="password" name="password" style="border-bottom: 1px solid black;padding-bottom: 2px;display:inline-block;"> </div> <div class="input-group" > <label>选择用户类型:</label> <select id="user-type" name="user-type" onchange="showAdminInput()" style="color: blue;"> <option value="normal">普通用户</option> <option value="admin">管理员</option> </select> </div> <button class="login-btn" onclick="login()" >GO</button> </div>为什么标签和输入框不能在同一行
标签和输入框不能在同一行是因为它们都被包含在一个class为“input-group”的div元素中,而该div元素默认的display属性是block,即块级元素,会自动换行。如果想让它们在同一行,可以将该div元素的display属性设置为inline-block或者使用CSS的flexbox布局。例如可以在.input-group样式中添加"display: inline-block;"。
阅读全文