我想检查图像宽度是否超过400像素,我希望该图像获得完整的div宽度。如果图像小于400像素,则以正常尺寸打印。
有什么想法怎么做?
<div id="volta">
<img src="/img/volta.jpg">
</div>
#volta{
width:500px;
}
答案 0 :(得分:3)
据我所知,这在CSS中不存在。相反,您应该使用use类。
定义一些CSS类,以应用所需的样式:
.long_width {
background: blue;
}
然后,您将使用Javascript检查图像的宽度。您不需要jQuery即可执行此操作,您可以使用普通Javascript来执行此操作(除非您已经导入了jQuery,并且需要其他功能来使用它)。也许是这样的:
let elm = document.querySelector('[src="/img/volta.jpg]"');
let width = window.getComputedStyle(elm).getPropertyValue('width');
然后您将使用Javascript相应地添加和删除样式:
if (width > 400) {
elm.classList.add("long_width");
}
else {
elm.classList.remove("long_width");
}
您问题的具体答案取决于您的意图。但是为了保持代码简单,您应该使用Javascript处理逻辑,而不要依赖CSS选择器来处理这些复杂的事情。而是创建一个包含所需样式的CSS类,然后使用Javascript根据用户上传的图像的大小来应用它。
此外,如果用户上传图像,则应将其加载到内存中并在内存中检查其属性,而不要依赖于DOM元素。像这样:
let img = new Image();
img.src = "{data URL of img}"
答案 1 :(得分:2)
您将需要javascript / jQuery才能正常工作。像这样:
$('img').each(function(){
if($(this).width() > 400){
$(this).css('width', '100%');
}
});
答案 2 :(得分:1)
将id应用于图像,并使用jquery检查其宽度 如果大于400像素,请修改其宽度或添加一个相同的类。
示例
$(document).ready(function(){
if($("#image").width() > 400){
$("#image").css("width", "100%");
}
else{
$("#image").css("width", "10px");
}
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<img id = "image" src = "https://pm1.narvii.com/6919/98f453834b5d87a6c92118da9c24fe98e1784f6ar1-637-358v2_hq.jpg"/>
答案 3 :(得分:1)
您可以像FlokiTheFisherman(带有%)那样进行操作,也可以使用“ wv”代替“%”。 我建议使用大众汽车。
答案 4 :(得分:0)
img[width='400'] {
width: 100%;
}