中心A表单HTML CSS

csga3l58  于 12个月前  发布在  其他
关注(0)|答案(5)|浏览(102)

你好,我有一个登录页面的表单居中的问题.我不擅长CSS,它已经有一段时间,因为我已经玩过HTML.我想做的是,中心的输入框和对齐的输入字段顶部的文字左,以及有一个图像居中,以及,就像在图片中。我已经尝试添加不同的div id和标签的形式,但我似乎不能弄清楚css的一部分。我感谢任何帮助,对不起,如果CSS是草率的。


的数据

body {
    background-color:lightgray; 
    font-family:Verdana, Arial, Helvetica, sans-serif;  
}
h1 {
    color: black;
}
p {
    color: black;
}

html {
    text-alight: center;
}

#login {
    text-align:center; 
}

input[type=text], input[type=date], input[type=password] {
    width: 30%;
    height: 50px;
    padding: 12px 20px;
    margin: 8px 0;
    box-sizing: border-box;
}

input[type=submit] {
    width: 30%;
    height: 50px;
    background-color: #4CAF50;
    border: none;
    color: white;
    padding: 16px 32px;
    text-decoration: none;
    margin: 4px 2px;
    cursor: pointer;
}

#service_type, #series, #speaker, #users {
    width: 30%;
    height: 50px;   
}

@media only screen and (max-device-width: 1024px){

input[type=text], input[type=date], input[type=password] {
    width: 100%;
    height: 50px;
    padding: 12px 20px;
    margin: 8px 0;
    box-sizing: border-box;
}

input[type=submit] {
    width: 100%;
    height: 50px;
    background-color: #4CAF50;
    border: none;
    color: white;
    padding: 16px 32px;
    text-decoration: none;
    margin: 4px 2px;
    cursor: pointer;
}

#service_type, #series, #speaker, #users{
    width: 100%;
    height: 50px;
}

#keypad_users{
    width: 345px;
    height: 50px;
    vertical-align:middle; 
    text-align:center;
    border:1px solid #000000; 
    font-size:30px; 
    font-weight:bold;
}

#keypad {margin:auto; margin-top:10px;}

#keypad tr td {
    vertical-align:middle; 
    text-align:center; 
    border:1px solid #000000; 
    font-size:18px; 
    font-weight:bold; 
    width:100px; 
    height:80px; 
    cursor:pointer; 
    background-color:#666666; 
    color:#CCCCCC;
}

#keypad tr td:hover {
background-color:#999999; 
color:#FFFF00;
}

#display {
text-align:center; 
    width:345px; 
    margin:10px auto auto auto; 
    background-color:#000000; 
    color:#00FF00; 
    font-size:48px; 
    border:1px solid #999999;
}
#message {
    text-align:center; 
    color:#009900; 
    font-size:18px; 
    font-weight:bold; 
    display:none;
}

}

个字符

oipij1gg

oipij1gg1#

我已经为你做了一个JSfiddle here (click me please),它类似于你添加的图片。
按照要求,不要使用第三方,就像我在这里添加的代码:
HTML

<div id="login">
  <form action = "login.php" id="login" method ="POST">
    <div class="picture">

    </div>
    <p>Username</p>
    <input type="text" name="username" id="username" required /><br /><br />
    
    <p>Password</p>
    <input type ="password" name="password" id="password" required /><br /><br />

    <input type="submit" name="submit" value="Log in">
  </form> 
</div>

字符串
CSS

body
{
    background-color:lightgray; 
    font-family:Verdana, Arial, Helvetica, sans-serif;  
}

#login
{
    text-align:center;
    width: 50%;
    margin: 0 auto;
}
.picture
{
  width:100px;
  height: 100px;
  border-radius: 100px;
  background-color:red;
  margin: 0 auto;
}
#login p
{
  float: left;
}
input[type=text], input[type=date], input[type=password] {
    width: 100%;
    height: 50px;
    padding: 12px 20px;
    margin: 8px 0;
    box-sizing: border-box;
}

input[type=submit] {
    width: 100%;
    height: 50px;
    background-color: #4CAF50;
    border: none;
    color: white;
    padding: 16px 32px;
    text-decoration: none;
    margin: 4px 2px;
    cursor: pointer;
}

**编辑:**新提琴在这里:https://jsfiddle.net/gay1ufa1/2/

cigdeys3

cigdeys32#

我已经改进了你的HTML。所有的表单输入都应该有一个相关的label元素。也不要使用br作为间距,而是使用padding/margin。
此外,使用重复的id,id必须是唯一的页面。

#login_container  /*This is Our base container for the login "control" */
{
  width:30%; /*Define the width of the control*/
  margin:auto; /*This Provide the horizontal centering of the control*/
  padding:120px 10px 10px 10px; /*Add some padding, the first number is the top and provides room for the image*/
  background-image:url(" http://fillmurray.com/100/100"); /*Add our background image, thanks Bill Murray*/
  background-position:center 10px; /*Position our image, first is Horizontal alignment, second is top*/
  background-repeat:no-repeat; /*One Bil Murray is more than enough*/
  background-color: #F0F0F0; /*Base Background image*/
}

#login_container label
{
  display:block;  /*Label will now take up a whole line*/
  margin-bottom:.25em; /*Give it some room underneath*/
}

#login_container input[type="text"], #login_container input[type="password"], #login_container input[type="submit"]
{
  width:100%; /*Form controls now take 100% width of the container*/
  margin-bottom:0.5em;
}

个字符

7gyucuyw

7gyucuyw3#

你的代码中有一个问题是你使用了两次ID“login“,这是绝对不能做的。我整理了一个codepen,你可以在这里找到:
http://codepen.io/anon/pen/dNWQgp
我基本上做了什么(除了添加一个代表图片的div):我将以下CSS分配给整个表单和图像的 Package 器DIV。它使用flexbox来集中内容。另外,我将form设置(40%)分配给form元素。

.wrapper {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

字符串

8tntrjer

8tntrjer4#

要使div居中,请将margin-leftmargin-right设置为auto,并为其分配固定的width。在您的情况下,这将用于#login

lg40wkob

lg40wkob5#

最小的跳转开始模板,使用CSS flex:

body {background:darkblue;margin:0;min-height:100vh;display:flex;align-items:center;justify-content:space-around;font-size:large}
#container {width:30%;margin:auto;padding:2em;background-color:#F0F0F0;border-radius: 0.5em}
#container input {margin:0.5em 0 1em 0;height: 2em;padding: 0.5em;width:calc(100% - 1.5em);font-weight:bold}
#container input[type="submit"] {cursor:pointer;font-size:larger;margin:0.5em 0 0 0;padding:0.2em;width:100%}

个字符
在CSS中更进一步,同时保持它相当小。emoji图标是Unicode字符,取自Unicode 15.1 https://www.unicode.org/emoji/charts-15.1/emoji-style.txt

body {background:darkblue;margin:0;min-height:100vh;display:flex;align-items:center;justify-content:space-around;font-size:large}
.logo {
  height: 7em;
  max-height: 7em;
  max-width: 7em;
  background: #272b2d;
  background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><text y='0.8em' font-size='100'>🧔🏻‍♂️</text></svg>");
  background-size: cover;
  border-radius: 7em;
  border: 0.5em deepskyblue solid;
  transition: transform .7s ease-in-out;
  margin: 0 auto 1em auto
}
.logo:hover {transform: rotate(360deg);cursor:crosshair}
#container {width:12em;margin:auto;padding:2em;background-color:#F0F0F0;border-radius: 0.5em;min-width:12em;max-width:12em;transition: all 0.5s ease-in}
#container:hover {box-shadow: rgba(255, 255, 255, 0.3) 0px 0px 50px}
#container input {margin:0.5em 0 1em 0;height: 2em;padding: 0.5em;width:calc(100% - 1.5em);font-weight: bold}
#container input[type="submit"] {cursor:pointer;font-size:larger;margin:0.5em 0 0 0;padding:0.2em;width:100%}
<!DOCTYPE html>
<meta charset=utf-8>
<title>DB</title>
<body>
  <div id="container">
    <div class="logo"></div>
    <form action = "login.php" id="login" method ="POST">
       <label for="username">Username </label>
       <input type="text" name="username" id="username" required />
       <label for="password">Password</label>
       <input type ="password" name="password" id="password" required />
       <input type="submit" name="submit" value="Log in">
       <br><br>
       <a href="#">Register account</a>
    </form>
  </div>
</body></html>


的数据

相关问题