0

我正在学习如何制作网站。

这是我的身体标签

<body>
    <h1 id="title">Title</h1>

    <div id="loginContainer">

        <img id="usernameIcon" src="assets/images/usernameIcon.png" alt="">
        <input id="usernameInput" type="text">

        <img id="passwordIcon" src="assets/images/passwordIcon.png" alt="">
        <input id="passwordInput" type="password">

        <button id="loginButton">Sign in</button>
    </div>
</body>

CSS文件:

#title {
    color: black;
    text-align: center;
    letter-spacing: 1px;
    font-weight: bold;
}

#loginContainer{
    width: 60%;
    height: 400px;
    margin-left: auto;
    margin-right: auto;
    margin-top: 80px;
    background-color: white;
    border-radius: 20px;
    box-shadow: 10px 10px 72px -26px rgba(0,0,0,0.75);
}

#usernameIcon{
    width: 30px;
    height: 30px;
    margin-top: 70px;
    margin-left: 30%;
}

#usernameInput{
    width: 30%;
    height: 30px;
}

#passwordInput{
    width: 30%;
    height: 30px;
}    

#passwordInput:focus-within{

}

#passwordIcon{
    width: 30px;
    height: 30px;
}

#loginButton{
    width: 40%;
    height: 40px;
    border-radius: 15px;
    border-width: 0;
    background-color: green;
    margin-top: 230px;
    margin-left: 30%;
    margin-right: 30%;
}

我制作了网站的模板:模板

上面的代码设计我的网站是这样的:第一张图片

当我在 CSS 文件中添加margin-top: 150px;#passwordInput,我的网站如下所示:第二张图片

为什么所有 UI 元素都改变了位置?我margin-top: 150px;只添加到#passwordInput

我正在学习如何制作和设计网站。请,为您的理解。

4

3 回答 3

0

我重写了一些 HTML 和 CSS 来完成设计。希望它会正常工作。你在codepen上得到相同的代码

#title {
  color: black;
  text-align: center;
  letter-spacing: 1px;
  font-weight: bold;
  font-family: sans-serif;
}

#loginContainer {
  width: 60%;
  margin-left: auto;
  margin-right: auto;
  margin-top: 80px;
  background-color: white;
  border-radius: 20px;
  box-shadow: 10px 10px 72px -26px rgba(0, 0, 0, 0.75);
  box-sizing: border-box;
  padding: 125px 0 50px;
}

#usernameIcon,
#passwordIcon {
  width: 30px;
  height: 30px;
  position: relative;
  top: 10px;
  margin-right: 15px;
}

#usernameInput,
#passwordInput {
  width: 30%;
  height: 30px;
}

#passwordInput:focus-within {}

#loginButton {
  width: 40%;
  height: 40px;
  border-radius: 15px;
  border-width: 0;
  background-color: green;
  margin-top: 150px;
  margin-left: 30%;
  margin-right: 30%;
}

.wraper {
  outline: 1px solid red;
  width: 40%;
  margin: 0 auto;
}


/* input-group */

.input-group {
  overflow: hidden;
  text-align: center;
}
<body>
  <h1 id="title">Title</h1>

  <form id="loginContainer">
    <div class="input-group">
      <img id="usernameIcon" src="https://ya-webdesign.com/images600_/vector-login-username-1.png" alt="">
      <input id="usernameInput" type="text">
    </div>
    <div class="input-group">
      <img id="passwordIcon" src="https://ya-webdesign.com/images600_/password-icon-png-2.png" alt="">
      <input id="passwordInput" type="password">
    </div>

    <button id="loginButton">Sign in</button>
  </form>
</body>

于 2019-05-08T16:55:39.503 回答
0

我重写了一些 HTML 和 CSS 来完成设计。希望它会正常工作。你在codepen上得到相同的代码

#title {
  color: black;
  text-align: center;
  letter-spacing: 1px;
  font-weight: bold;
  font-family: sans-serif;
}

#loginContainer {
  width: 60%;
  margin-left: auto;
  margin-right: auto;
  margin-top: 80px;
  background-color: white;
  border-radius: 20px;
  box-shadow: 10px 10px 72px -26px rgba(0, 0, 0, 0.75);
  box-sizing: border-box;
  padding: 125px 0 50px;
}

#usernameIcon,
#passwordIcon {
  width: 30px;
  height: 30px;
  position: relative;
  top: 10px;
  margin-right: 15px;
}

#usernameInput,
#passwordInput {
  width: 30%;
  height: 30px;
}

#passwordInput:focus-within {}

#loginButton {
  width: 40%;
  height: 40px;
  border-radius: 15px;
  border-width: 0;
  background-color: green;
  margin-top: 120px;
  margin-left: 30%;
  margin-right: 30%;
}

.wraper {
  outline: 1px solid red;
  width: 40%;
  margin: 0 auto;
}


/* input-group */

.input-group {
  overflow: hidden;
  text-align: center;
  margin-bottom: 15px;
}
<body>
  <h1 id="title">Title</h1>

  <form id="loginContainer">
    <div class="input-group">
      <img id="usernameIcon" src="https://ya-webdesign.com/images600_/vector-login-username-1.png" alt="">
      <input id="usernameInput" type="text">
    </div>
    <div class="input-group">
      <img id="passwordIcon" src="https://ya-webdesign.com/images600_/password-icon-png-2.png" alt="">
      <input id="passwordInput" type="password">
    </div>

    <button id="loginButton">Sign in</button>
  </form>
</body>

于 2019-05-08T16:59:19.723 回答
0

因为所有元素都在同一个 div 中,当您为其中一个元素设置边距时,该 div 会扩展。

相反,给它position: relativetop: 150px

#passwordInput {
  position: relative;
  top: 150px;
}
于 2019-05-08T15:16:52.933 回答