html - 如何定义绝对定位元素的 anchor ?

标签 html css

是否可以在没有 CSS 转换的情况下定义定位元素的 anchor ?

我想在变量居中的 div 之前放置一个箭头,但我必须定义偏移量(左:-20px;)。

如果我要增加字体大小,箭头和 block 之间的间隙将不再成比例。

如何将我的绝对定位元素的 anchor 定义为右上角而不是左上角?

HTML:

<div id="block">
   back
   <div id="arrow">&larr;</div>
</div>

CSS:

#block {
   height: 20px;
   width : 40px;
   margin: 0 auto;
   border: 1px solid black;
   position: relative;
}

#arrow {
   position: absolute;
   left: -20px;
   top : 0;
}

在这个例子中, block 的宽度是固定的,但在我的代码中它是可变的。可能需要不同的解决方案。

http://jsfiddle.net/J7XnB/1/

谢谢!

最佳答案

您可以使用 em 作为测量单位而不是绝对像素来实现此目的:

#block {
    font-size: 16px;
    height: 1em;
    width: 2.5em;
    margin: 0 auto;
    border: 1px solid black;
    position: relative;
}

#arrow {
    position: absolute;
    left: -1em;
    top: 0;
}

使用 em 测量 #block 的高度和宽度还有一个额外的好处,即如果字体大小发生变化,则框会调整大小以适合文本相应地。

你可以看到它在这里工作:http://jsfiddle.net/J7XnB/2/

(只需更改 font-size 属性即可看到它的变化。)

关于html - 如何定义绝对定位元素的 anchor ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18609718/

相关文章:

html - 垂直对齐 :middle for a span element

html - Facebook 股票代码设计是如何实现的?

css - 剪裁在右边缘的 SVG 图稿

Javascript,重新加载时返回上一个选项卡

css - 即渐变+背景图像

reactjs - 尽管值相等,但单击事件会产生不同的转换延迟

html - 在线表单上的表单输入不可点击

html - CSS宽度:100% not working in Google Chrome

html - 自定义和不同的单选按钮

html - 如何删除 Bootstrap3 容器的背景?