【问题标题】:Text align center or margin left and margin right not centering button in CSSCSS中的文本居中或左边距和右边距不居中按钮
【发布时间】:2021-04-27 07:23:51
【问题描述】:

我在我的 HTML 中添加了一个按钮,并希望将其居中。我尝试了标题中的两种方法,但它们都不起作用。我是 HTML 和 CSS 的新手。我使用 CSS 将其居中,但如果有使用 HTML 的方法,我可以接受。

div {
  text-align: center;
}

body {
  text-align: center;
}

input[type=text] {
  width: 110%;
  padding: 1%;
  background-color: rgb(255, 255, 255);
  border-radius: 10px;
}

h1 {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
}

div {
  height: 10em;
  position: relative
}

html {
  margin: 0;
  position: absolute;
  top: 50%;
  left: 50%;
  right: 50%;
  margin-right: -50%;
  transform: translate(-50%, -50%)
}

body {
  background: linear-gradient(-20deg, #e73c7e, #23a6d5, #23d5ab);
  background-size: 1000000% 1000000%;
}

button {
  margin-left: auto;
  margin-right: auto;
}
<div id="typing-area">
  <input type="text">
  <button>Enter</button>
  <h1>
    bocho is cool
  </h1>
</div>

文本框居中,但按钮不居中。

谢谢! 伊凡

【问题讨论】:

  • 您有一些非常混乱的 HTML,这可能是导致问题的原因。尝试通过验证器 validator.w3.org/#validate_by_input 运行您的 HTML
  • 详细说明@RobertAKARobin 的评论:在代码合并之前,2 个正文开始标签紧随其后。 html结束标记后的脚本标记。

标签: html css margin center


【解决方案1】:

因为您将输入的大小设置为 110% 并将正常页面大小保留为 100%,所以它会推出输入。

input[type=text] {
  width: 100%;
  padding: 1%;
  background-color: rgb(255, 255, 255);
  border-radius: 10px;            
}

margin-left: auto;
margin-right: auto;

你可以用这个代替上面的

margin:0 auto

【讨论】:

    【解决方案2】:

    您可以在父项上使用 flex 属性来对齐项目。

    您不需要在按钮元素上添加任何 CSS。 这是更好的新方法。

    div#typing-area {
      text-align: center;
      display: flex;
      flex-direction: column;
      align-items: center;
    }
    
    input[type=text] {
      width: 110%;
      padding: 1%;
      background-color: rgb(255, 255, 255);
      border-radius: 10px;
    }
    
    h1 {
      font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
    }
    
    div {
      height: 10em;
      position: relative
    }
    
    html {
      margin: 0;
      position: absolute;
      top: 50%;
      left: 50%;
      right: 50%;
      margin-right: -50%;
      transform: translate(-50%, -50%)
    }
    
    body {
      background: linear-gradient(-20deg, #e73c7e, #23a6d5, #23d5ab);
      background-size: 1000000% 1000000%;
    }
    <div id="typing-area">
      <input type="text">
      <button>Enter</button>
      <h1>
        bocho is cool
      </h1>
    </div>

    【讨论】:

      【解决方案3】:

      而不是将对齐项应用到正文作为中心 试试这个。不需要单一的 CSS 样式

      <!DOCTYPE html>
      <html lang="en">
      <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Document</title>
        <link rel="stylesheet"  href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.1/css/all.min.css" integrity="sha512-+4zCK9k+qNFUR5X+cKL9EIR+ZOhtIloNl9GIKS57V1MyNsYpYcUrUeQc9vNfzsWfV28IaLL3i96P9sdNyeRssA==" crossorigin="anonymous" />
        <link rel="preconnect" href="https://fonts.gstatic.com" />
        <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta1/dist/css/bootstrap.min.css "rel="stylesheet" integrity="sha384-giJF6kkoqNQ00vy+HMDP7azOuL0xtbfIcaT9wjKHr8RbDVddVHyTfAAsrekwKmP1" crossorigin="anonymous" />
      </head>
      <body>
      
          <div class="container row text-center">
              <div class="col-12">
                  <input type="text" class="w-50 ">
                  <button class="btn btn-primary ">Enter</button>
              </div>
              <div class="col-12">
                  <h1>bocho is cool</h1>
              </div>
          </div>
         <script  src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta1/dist/js/bootstrap.bundle.min.js"  integrity="sha384-ygbV9kiqUc6oa4msXn9868pTtWMgiQaeYH7/t7LECLbyPA2x65Kgf80OJFdroafW"  crossorigin="anonymous"></script>
         <script src="script/script.js"></script>
      </body>
      </html>

      它在所有 3 个视图中都能完美响应

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-11-17
        • 2013-05-24
        • 2013-10-09
        • 2012-02-28
        • 2015-05-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多