Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 具有绝对起始位置的动态宽度_Html_Position_Css - Fatal编程技术网

Html 具有绝对起始位置的动态宽度

Html 具有绝对起始位置的动态宽度,html,position,css,Html,Position,Css,我有一个标题,两个图像相邻(一个图标和一个文字标记)。第一个图像具有绝对大小,而第二个图像(较长的文字徽标)具有动态宽度。我想做的是,这个文字标记根据屏幕大小(这是一个响应页面)动态调整大小,同时保持在图标旁边。如果我采用内联路线,它会跳到一条新线,然后再依靠“最大宽度”调整图像大小 我尝试了绝对定位,但100%的宽度始终是整个屏幕的宽度。如果我指定left:20px,它首先获取全屏宽度,然后将元素移动到20px上。现在,该元素的右侧20px从屏幕上剪下。我也试着在上面加上right:20px,

我有一个标题,两个图像相邻(一个图标和一个文字标记)。第一个图像具有绝对大小,而第二个图像(较长的文字徽标)具有动态宽度。我想做的是,这个文字标记根据屏幕大小(这是一个响应页面)动态调整大小,同时保持在图标旁边。如果我采用内联路线,它会跳到一条新线,然后再依靠“最大宽度”调整图像大小


我尝试了绝对定位,但100%的宽度始终是整个屏幕的宽度。如果我指定left:20px,它首先获取全屏宽度,然后将元素移动到20px上。现在,该元素的右侧20px从屏幕上剪下。我也试着在上面加上right:20px,结果是一样的

所以我要寻找的是如何使块具有动态宽度(在本例中,最大宽度=100%),但具有绝对起始位置。这有意义吗

花车对这样的东西有用吗?可能是普通内联块div元素上的背景图像

谢谢你的阅读。我可以附加代码,但我已经尝试了各种不同的方法,现在我并没有坐在那里


编辑:我不觉得小提琴能帮我描述我的问题,我改成了这样的图像:

我想你正在接近左右属性,试试这个:

您可以将图像以100%的宽度放置在每个div中

#static {
    position: absolute;
    left: 0;
    top: 0;
    width: 3em; // fixed image width
}
#dynamic {
    position: absolute;
    top: 0;
    left: 3em; // same as width above
    right: 0;
}

如果元素具有固定的高度(在您的情况下,它们似乎具有固定的高度),则可以使用绝对定位轻松实现这一点

HTML:


“但100%的宽度始终是整个屏幕的宽度。”这是因为绝对定位发生在距离最近的
相对定位的
父对象上,如果没有,则是整个
主体。一把小提琴将有助于准确理解您的问题所在。为什么不将文字标记图像设置为右侧div的背景,并将图标设置为左侧浮动的图像?我想这个问题已经被问过好几次了:谢谢Cristy,我没有想到用这种方式描述我的问题。这就打开了大量潜在的答案。这确实起到了作用!谢谢我想我所需要做的就是将img嵌套在一个div中,而不是在div上声明宽度,而是在img上声明宽度。该死,离x.x太近了
<div id="outer">
    <div id="fixed"></div>
    <div id="fluid"></div>
    Some more content to show that layout continues without issues from here on
</div>
div { height: 50px }
#outer { position: relative }
#fixed { width: 20px; }
#fluid { position: absolute; top: 0; left: 20px; right: 0; }