【问题标题】:CSS Position using center of element to position element using percentageCSS定位使用元素的中心使用百分比定位元素
【发布时间】:2016-08-14 20:33:10
【问题描述】:

嗨,所以我正在制作一个网站,我刚刚意识到当我想要定位 html 元素时,它会使用它的右侧定位元素。这是我的意思的一个例子。我试图使用百分比将图像定位在中心。我的 css 代码的精简版:.image{position:absolute;right:50%; 所以当我加载网站时,它显示为图片的右上角为 50%,而不是图片的中心为 50%。有没有办法使用图像的中心将图片定位在 50%,而不是图片的左边缘或右边缘为 50%?我不希望像position:absolue;right:45% 这样的东西来移动图片,而是使用图片的中心来定位图片。如果您需要更多说明,请告诉我。

【问题讨论】:

  • 欢迎来到 SO。请在提交问题之前尝试搜索选项。这已经被问过(并回答过)很多次了。谢谢

标签: html css position absolute


【解决方案1】:

设置图片的宽度,然后设置左右边距为自动。

` {width: whatever you want; margin-left: auto; margin-right: auto; }  `

【讨论】:

  • 设置宽度和边距后,我要设置位置吗?
  • 对不起,我应该更清楚。如果要保持绝对位置,请先设置,然后添加 left:0;对:0;然后添加我上面提到的内容。
  • 刚试了一下.. 似乎有效!谢谢!这是我使用的代码:.gold { background-image: url(../pics/emblems/Gold.jpg); width: 200px; left:0; right: 0; margin-left: auto; margin-right: auto; position: absolute; text-align: center; } 我的问题是,left:0 和 right:0 做什么?
  • 最后一件事,所以假设我想在右边放置一些 html 文本:25%。使用中心定位元素是否可以使用相同的方法?
  • 你想要文本的中心在 25% 吗?
【解决方案2】:
  1. 当您要定位的元素位于某个容器内时,您可以使用text-align 轻松完成此操作,即:

HTML:

    <div class="container">
        <div class="image">Center me!</div>
   </div>

CSS:

    .container { text-align: center }
    .image { display: inline-block }
  1. 第二种方法:如果你知道元素的宽度(.image)。假设它是 400px 宽:

CSS

    .image {
        position: absolute;
        left: 50%;
        margin-left: -200px;
    }

有点棘手,当屏幕宽度小于元素宽度时会导致问题。

【讨论】:

  • 谢谢,但对于第一个,我使用了一些文本,所以当我执行 text-align:center 时,它只会使文本相对于图像居中。另外,我忘了提及,但我使用的图像是使用 CSS background-image:url(source) 插入的。
猜你喜欢
  • 2017-07-15
  • 1970-01-01
  • 1970-01-01
  • 2011-01-12
  • 2018-01-19
  • 1970-01-01
  • 2016-10-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多