html - 在 Skeleton 中将 div 居中

标签 html css skeleton-css-boilerplate

对于我的一个元素,我是第一次使用 Skeleton Boilerplate。我正在寻找在骨架中将 div 居中而不违反骨架规则的最佳实践。

目前,我的登录页面结构如下。

HTML:

<div class="container">
<div class="sixteen columns vertical-offset-by-one">
<div id="loginBox">
<img src="images/yeditepeLogo.png" alt="Yeditepe Logo" class="yeditepeLogo" />
<form action="" id="loginForm">
<input type="text" name="username" required placeholder="username" class="loginTextField">
<input type="password" name="password" required placeholder="password" class="loginTextField">
<input type="submit" value="Log In" class="loginButton" />
</form>
</div><!-- loginBox -->

</div><!-- sixteen columns -->

<div class="sixteen columns">
<p align="center"><a href="registration.html" target="_blank">Click here to register</a></p>
</div>
</div><!-- container -->

CSS:

#loginBox, #registrationBox {
  width: 470px;
  height: 450px;
  background-color: white;
  left: 245px; */
  top: 20px; */
  position: relative; 
  margin: 0px auto;  }

#registrationBox {
  height: 500px; }

.yeditepeLogo {
  position: relative;
  left: 40px;
  top: 33px; }

#loginForm, #registrationForm {
  position: relative;
  top: 45px; }

.loginTextField, .registrationTextField {
  position: relative;
  height: 40px;
  width: 388px;
  left: 40px;
  border-color: #dedede;
  border-style: solid;
  border-width: 1px;
  margin-bottom: 10px;
  text-align: left;
  font-size: 18px;
  text-indent: 10px;
  -webkit-appearance: none; }

.loginTextField:focus, .registrationTextField:focus {
  outline-color: #ff9800;
  outline-style: solid;
  outline-width: 1px;
  border-color: white; }

.loginTextField:nth-child(2), .registrationTextField:nth-child(3) {
  margin-bottom: 40px; }

.loginButton, .registrationButton {
  background-color: #77a942;
  position: relative;
  border: none;
  width: 390px;
  height: 60px;
  left: 40px;
  color: white;
  font-size: 24px;
  text-align: center;
  opacity: 0.8; }
  .loginButton:hover, .registrationButton:hover {
    opacity: 1; }

如您所见,#loginBox 具有固定的宽度/高度,它应该始终位于页面的中央。 margin: 0px auto 代码使其水平居中。但这是 Skeleton 中的最佳实践吗? Skeleton 是否提供了更好的方法?

另外,我怎样才能提供它的垂直居中?

最佳答案

实际上在 Skeleton 中有一种内置的居中 div 的方法。

<div class="sixteen columns">
    <div class="four columns offset-by-six">
        <p>Lorem ipsum dolor sit amet.</p>
    </div>
</div>

在这种情况下,偏移量可以从 1 更改为 15,并将手头的列偏移与输入的列一样多。作为一个简洁的功能,当使用较小的屏幕时,偏移不会影响对齐。

澄清一下:这并不是将 div 中的实际内容居中,而是将 div 本身居中。

关于html - 在 Skeleton 中将 div 居中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18076916/

相关文章:

html - 绝对定位的子 div 宽度,脱离相对定位的容器

twitter-bootstrap - 如何使用 Bootstrap 在同一行上对齐两个图像而中间没有空格

IE11 中的 CSS hsl 计算错误

html - 如何将 ul 对齐到骨架中的中心?

javascript - 无法过滤 HTML 字符串中的 HTML 标记

html - 在包装器上使用填充时如何使内容 div 全高?

css - 是什么导致 body 标签变宽?

1003px 宽度基础的 CSS 网格系统

javascript - jQuery 获取段落内的数字,但不获取类中的数字

css - Less CSS 在 HTTP 服务器上不起作用