html - 根据可用空间水平居中元素

标签 html css

是否可以在不使用 javascript 的情况下将元素水平居中放置在所有可用空间上?

我知道如果我执行 margin: 0 auto; 它会在屏幕上居中。但是,因为我有侧边栏,所以我希望内容以剩余空间为中心,而不是屏幕空间。

我知道使用 javascript 很容易完成,但是我想知道我是否可以使用纯 css 来实现它。 ( https://jsfiddle.net/dxb2rr8k/ )

Javascript 代码看起来像这样 ( https://jsfiddle.net/a5n59bxn/ ):

$(window).on('resize', function () {
  centerContent();
});

function centerContent() {
  var sidebarWidth = $('.sidebar').width();
  var contentWidth = $('.content').width();
  var windowWidth = $(window).width();

  $('.content').css('margin-left', (windowWidth / 2) - sidebarWidth);
}

最佳答案

html, body, .wrap {
  height: 100%;
  min-height: 100%;
  margin: 0;
  padding: 0;
}

.sidebar {
  width: 100px;
  background: red;
  height: 100%;
  min-height: 100%;
  float: left;
}

.content {
  overflow: hidden;
  background: blue;
  margin: 0 auto;
  width: 300px;
}
<div class="wrap">
  <div class="sidebar"></div>
  <div class="content">
    <p>
      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aliquid eveniet, iure maiores optio provident quod illum deleniti saepe error corporis molestiae reiciendis omnis, sapiente perspiciatis dolore nesciunt unde, eligendi quisquam reprehenderit. Corporis accusamus beatae, quisquam voluptas deleniti, nam libero dolore, odio maiores blanditiis error sit ad earum iusto quia distinctio.
    </p>
  </div>
</div>

关于html - 根据可用空间水平居中元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37617803/

相关文章:

jquery - 响应图像尺寸

html - 使用 calc() 的 Div 间距偏移

javascript - 当 anchor 到达页面顶部时,获取 div 的背景颜色以淡入不同的颜色

jquery - 保持选项卡处于事件状态,默认打开选项卡

javascript - 如何使用 js 或 jquery 调整非子图像的大小?

javascript - HTML/Jquery : div not detecting hover even when z-index set to highest?

javascript - 使用按钮而不是 Glide.js 的默认导航的问题

javascript - href onclick 在某些页面上不起作用

javascript - Javascript中多个输入框的简单表单域验证

html - 如何在html表td中使用if/else条件