如何将“位置:绝对”元素居中

如何将“位置:绝对”元素居中

我在对具有属性的元素的中心设置一个问题position设为absolute..有人知道为什么图像没有居中吗?

body {

  text-align: center;

}


#slideshowWrapper {

  margin-top: 50px;

  text-align: center;

}


ul#slideshow {

  list-style: none;

  position: relative;

  margin: auto;

}


ul#slideshow li {

  position: absolute;

}


ul#slideshow li img {

  border: 1px solid #ccc;

  padding: 4px;

  height: 450px;

}

<body>

  <div id="slideshowWrapper">

    <ul id="slideshow">

      <li><img src="img/dummy1.JPG" alt="Dummy 1" /></li>

      <li><img src="img/piano_unlicened.JPG" alt="Dummy 2" /></li>

    </ul>

  </div>

</body>


HUX布斯
浏览 442回答 3
3回答

当年话下

position:&nbsp;absolute;margin-left:&nbsp;auto;margin-right:&nbsp;auto;left:&nbsp;0;right:&nbsp;0;

有只小跳蛙

不知道width/height定位1元素,仍然可以按以下方式对齐它:这里的例子.child&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;position:&nbsp;absolute; &nbsp;&nbsp;&nbsp;&nbsp;top:&nbsp;50%;&nbsp;&nbsp;/*&nbsp;position&nbsp;the&nbsp;top&nbsp;&nbsp;edge&nbsp;of&nbsp;the&nbsp;element&nbsp;at&nbsp;the&nbsp;middle&nbsp;of&nbsp;the&nbsp;parent&nbsp;*/ &nbsp;&nbsp;&nbsp;&nbsp;left:&nbsp;50%;&nbsp;/*&nbsp;position&nbsp;the&nbsp;left&nbsp;edge&nbsp;of&nbsp;the&nbsp;element&nbsp;at&nbsp;the&nbsp;middle&nbsp;of&nbsp;the&nbsp;parent&nbsp;*/ &nbsp;&nbsp;&nbsp;&nbsp;transform:&nbsp;translate(-50%,&nbsp;-50%);&nbsp;/*&nbsp;This&nbsp;is&nbsp;a&nbsp;shorthand&nbsp;of &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;translateX(-50%)&nbsp;and&nbsp;translateY(-50%)&nbsp;*/}值得注意的是CSS变换&nbsp;在IE9及以上版本中支持.&nbsp;(为简洁起见省略供应商前缀)解释加法top/left的50%将元素的上/左边缘移动到父元素的中间,并且translate()函数的(负)价值-50%将元素移动其大小的一半。因此,元素将位于中间。这是因为top/left属性相对于父元素的高度/宽度(该元素正在创建包含块)。而百分比值translate()&nbsp;变换函数与元素本身的宽度/高度有关。(实际上它指的是包围盒).对于单向对齐,请使用translateX(-50%)或translateY(-50%)相反。1.具有position除static..即。relative,&nbsp;absolute,&nbsp;fixed价值。

慕工程0101907

以某物为中心absoluteLY定位在CSS中是相当复杂的。ul#slideshow&nbsp;li&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;position:&nbsp;absolute; &nbsp;&nbsp;&nbsp;&nbsp;left:50%; &nbsp;&nbsp;&nbsp;&nbsp;margin-left:-20px;}变化margin-left为(负)一半的元素的宽度,您正试图居中。
打开App,查看更多内容
随时随地看视频慕课网APP