Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/79.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 Css:获取img的宽度_Html_Css - Fatal编程技术网

Html Css:获取img的宽度

Html Css:获取img的宽度,html,css,Html,Css,好吧,我的问题很基本:如何通过css文件获得img标签的宽度 我正在使用一个标题,它有和标签。现在,这是我的css中的内容: .header > img { position: absolute; left: calc(50vw - 273px); z-index: 20; } 它基本上通过calc()告诉图像它必须在标题中的位置,其中我的第二个参数是img宽度。那么,我怎样才能得到img的宽度,这样我就不必硬编码一半大小了?CSS不是编程语言,你不能“得到”宽度

好吧,我的问题很基本:如何通过css文件获得img标签的宽度

我正在使用一个标题,它有和标签。现在,这是我的css中的内容:

.header > img {
    position: absolute;
    left: calc(50vw - 273px);
    z-index: 20;
}

它基本上通过
calc()
告诉图像它必须在标题中的位置,其中我的第二个参数是img宽度。那么,我怎样才能得到img的宽度,这样我就不必硬编码一半大小了?

CSS不是编程语言,你不能“得到”宽度。您在“left”中写入的内容是相对于容器的,所以在其中写入50%是没有帮助的。我认为您可以通过以下方式获得正确的结果:

.header > img {
    position: absolute;
    left: 50vw;
    transform: translateX(-50%);
    z-index: 20;
}

另请参阅,尽管它谈到了垂直移动图像。

我不知道是否有办法使用css或html来实现这一点,但是如果您有图像id标记,可以使用javascript通过以下代码获得图像宽度

<script>document.getElementById('whatever your image id').width</script> 
document.getElementById('无论您的图像id是什么').width
如果你把这段代码放在html中,只需这样做

<p><script>document.write(document.getElementById('whatever your image id').width)</script></p>
document.write(document.getElementById('不管您的图像id是什么')。宽度)

显示图像宽度。我不确定是否有办法将javascript链接到css 这样您就不必在css中硬编码宽度值。但是如果有人找到了办法,请告诉我


谢谢

您可以使用JavaScript来实现这一点!例如,您可以使用document.querySelector()。如果您需要示例,我可以提供更长的代码片段。
50%
是宽度的一半。您可以实现
document。write
覆盖整个页面,对吗?是的。说得好。不过,不要认为如果我用一些html标记来包装它,它会覆盖整个页面。问题是我不能使用javascript。哦,这太不幸了。。这里有一个链接,如果这里有任何值得帮助的图片,它可能对html、css和javascript有所帮助。但除此之外,如果你绝对不能使用javascript,我只会硬编码。有趣的是,我还研究了Honza的解决方案,它似乎是可行的,但不幸的是,它不起作用。我会试着玩更多,看看你是否关闭了任何标签,看看为什么它最后一次不起作用。但除此之外,我真的不知道如何处理这个问题。如果你发现了,请告诉我。谢谢很好!谢谢