html - 使用 PureCSS 使对象在网格宽度内居中

标签 html css yui-pure-css pure-css

我有一个集成了 PureCSS 的 html 模板,这样我就可以开始创建布局了。我有一个对象,它是 24 分割网格的 20-24 宽度。我在它所在的网格 block 内有一个表单。我想将表单内容置于该网格的中心。我不确定如何有效地做到这一点。我尝试添加自己的 css 来覆盖纯 css 默认值,但它不起作用 cna 任何人都可以帮助我。这是我的 html 模板:

<link rel="stylesheet" href="https://unpkg.com/purecss@1.0.0/build/pure-min.css" integrity="sha384-nn4HPE8lTHyVtfCBi5yW9d20FjT8BJwUXyWZT9InLYax14RDjBj46LmSztkmNP9w" crossorigin="anonymous">
<link rel="stylesheet" href="https://unpkg.com/purecss@1.0.0/build/grids-responsive-min.css">
<meta name="viewport" content="width=device-width, initial-scale=1">

  <div class="pure-g">
    <div class="pure-u-lg-20-24 center-item-h">
      <form action="{% url 'searched' %}" method="POST">
        {% csrf_token %}
        <input type="text" name="searched" placeholder="Search">
      </form>
    </div>
  </div>

这是我试图用来在 block 中手动居中表单的 css:

.center-item-h {
  margin-left: auto !important;
  margin-right: auto !important;
}

这是它的样子:

我摆脱了所有其他所有不是有问题的 block 的代码。如果需要,我可以添加所有内容来帮助解决这个问题

最佳答案

要使用边距水平居中,您必须为元素设置 width。否则它不知道如何确定自己的间距。

.center-item-h {
  margin: 0 auto;
  width: 50%; /* just an arbitrary amount */
}

或者(如果可以的话),切换到 flexbox 并将水平对齐属性应用于其父级:

.pure-g {
  display: flex;
  justify-content: center;
}

关于html - 使用 PureCSS 使对象在网格宽度内居中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47545136/

相关文章:

javascript - 相对于容器的字体大小

html - 使用 Bootstrap 设计注册页面

CSS 定位 : Full-width header shall have the same left margin as the centered content-div

html - 响应式网格是什么以及如何实现它

javascript - 在应用 CSS 和 Javascript 之前,如何防止导航呈现为列表?

html - 分段上传表单 : Is order guaranteed?

html - 你应该,还是不应该,用正斜杠关闭 void 元素/自关闭标签?

css - 跨浏览器测试

html - CSS 样式在第一行剪切文本并且不显示 VueJS 应用程序上的所有内容

用于响应式、可折叠左侧菜单的 CSS?