第 60 题:已知如下代码,如何修改才能让图片宽度为 300px?注意下面代码不可修改

发布于 2022-07-13 22:08:27 字数 115 浏览 160 评论 39

<img src="1.jpg" style="width:480px!important;”>

important 算是比较高的优先级,那在这个基础之上,在添加一些标签,应该就能覆盖样式了吧!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(39

棒棒糖 2022-05-04 13:56:35

一、

zoom: 0.625 
// 300 / 480 = 0.625

二、

transform: scale(0.625)
萌酱 2022-05-04 13:56:35
1. <img src="1.jpg" style="width:480px!important; max-width = 300px">
2. <img src="1.jpg" style="width:480px!important; transform: scale(300/480)">
欢你一世 2022-05-04 13:56:35
  1. <img src="1.jpg" style="width:480px!important; max-width: 300px">
  2. <img src="1.jpg" style="width:480px!important; transform: scale(0.625, 1);" >
  3. <img src="1.jpg" style="width:480px!important; width:300px!important;">
最舍不得你 2022-05-04 13:56:35

max-width可以覆盖掉!important

反话 2022-05-04 13:56:35

max-width: 300px;

枕花眠 2022-05-04 13:56:35

总结一下吧:
1.css方法
max-width:300px;覆盖其样式;
transform: scale(0.625);按比例缩放图片;
2.js方法
document.getElementsByTagName("img")[0].setAttribute("style","width:300px!important;")

很糊涂小朋友 2022-05-04 13:56:35

用max-width去覆盖挺好的。

写给空气的情书 2022-05-04 13:56:35

总结:
img{
/* max-width:300px /
/
transform: scale(0.625); /
/
box-sizing:border-box;
padding:90px; /
/
zoom:0.625; /
/
width:300px!important; 不可以 */

    }

除了最后的一行不可以,因为内联样式的优先级比内部样式优先级高

春夜浅 2022-05-04 13:56:35

1 max-width:300
2 transform:scale(0.625)
3 zoom:0625
4 ...
123 就已经足够了

1.使important样式不生效,display: inline,position: absolute,left...right...,或者max-width:300px;
2.利用盒模型的padding,box-sizing: content-box; padding-left:90px; padding-right: 90px;
3.缩放

百善笑为先 2022-05-04 13:56:35

max-width:300px;
最简单哒

或十年 2022-05-04 13:56:35

来个奇淫技巧

img {
      animation: test 0s forwards;
}
@keyframes test {
from {
width: 300px;
}
to {
width: 300px;
}
}
挖个坑埋了你 2022-05-04 13:56:35

来个奇淫技巧

img {
      animation: test 0s forwards;
}
@keyframes test {
from {
width: 300px;
}
to {
width: 300px;
}
}

来个奇淫技巧

img {
      animation: test 0s forwards;
}
@keyframes test {
from {
width: 300px;
}
to {
width: 300px;
}
}

利用CSS动画的样式优先级高于!important的特性

三生池水覆流年 2022-05-04 13:56:35

很简单啊
img{
max-width:300px;
}

欢烬 2022-05-04 13:56:35

box-sizing: border-box

一抹苦笑 2022-05-04 13:56:35
document.querySelector('img').style.cssText='width:300px;'

为什么都没有用js的。。。

天邊彩虹〆 2022-05-04 13:56:35

总结一下
1、给图片设置max-width:300px
2、给图片设置transform: scale(0.625,0.625),但是占据的位置还是原来的480px
3、给图片设置box-sizing: border-box;padding: 0 90px;,但图片左右会有90px的内边距
4、给图片设置zoom: 0.625
5、js获取元素使用imgs[0].setAttribute("style","width:300px!important;")或者imgs[0].style.cssText='width:300px;'
6、给图片设置动画,from{width:300px;}to{width:300px;},动画时间为0s,原理是CSS动画的样式优先级高于!important的特性

七秒鱼° 2022-05-04 13:56:35

来个奇淫技巧

img {
      animation: test 0s forwards;
}
@keyframes test {
from {
width: 300px;
}
to {
width: 300px;
}
}

Chrome可以,Firefox不支持

剩余の解释。 2022-05-04 13:56:35

外面套个盒子 然后overflow: hidden?

缱绻入梦 2022-05-04 13:56:35

同时设置max-width和min-width为300px即可

软的没边 2022-05-04 13:56:35
<img src="1.jpg" style="width:480px!important;”>
心头的小情儿 2022-05-04 13:56:35

我只知道如果实际项目中如果发生了这种事,好的解决办法是把行内style改成class写法
本来行内style就已经够愚蠢了,现在你让我蠢上加蠢,我做不到

撧情箌佬 2022-05-04 13:56:35
let img = document.getElementsByTagName('img')[0]
img.style.width = 300 + 'px'
箹锭⒈辈孓 2022-05-04 13:56:35

父元素width: 300px; overflow:hidden; 可以吗哈哈

短暂陪伴 2022-05-04 13:56:35
<style>
  img {
    width: 300px !important;
  }
</style>

利用css优先级叠加原理

小忆控 2022-05-04 13:56:35

来个奇淫技巧

img {
      animation: test 0s forwards;
}
@keyframes test {
from {
width: 300px;
}
to {
width: 300px;
}
}

Chrome可以,Firefox不支持

额 我测试了下 Chrome不可以。84.0.4147.105

予囚 2022-05-04 13:56:35

总结一下
1、给图片设置max-width:300px
2、给图片设置transform: scale(0.625,0.625),但是占据的位置还是原来的480px
3、给图片设置box-sizing: border-box;padding: 0 90px;,但图片左右会有90px的内边距
4、给图片设置zoom: 0.625
5、js获取元素使用imgs[0].setAttribute("style","width:300px!important;")或者imgs[0].style.cssText='width:300px;'
6、给图片设置动画,from{width:300px;}to{width:300px;},动画时间为0s,原理是CSS动画的样式优先级高于!important的特性

good

黑色毁心梦 2022-05-04 13:56:35

document.querySelector('img').style.width = '300px'

情魔剑神 2022-05-04 13:56:35

总结一下
1、给图片设置max-width:300px
2、给图片设置transform: scale(0.625,0.625),但是占据的位置还是原来的480px
3、给图片设置box-sizing: border-box;padding: 0 90px;,但图片左右会有90px的内边距
4、给图片设置zoom: 0.625
5、js获取元素使用imgs[0].setAttribute("style","width:300px!important;")或者imgs[0].style.cssText='width:300px;'
6、给图片设置动画,from{width:300px;}to{width:300px;},动画时间为0s,原理是CSS动画的样式优先级高于!important的特性

4、给图片设置zoom: 0.625,这个我在vue的scss文件中写的,在Chrome浏览器没有生效。

£冰雨忧蓝° 2022-05-04 13:56:35

补充一个:利用clip或clip-path进行裁剪。

img{
  /* position:absolute;
  clip: rect(0px 300px 200px 0px) */

  clip-path: inset(0 180px 0px 0px);
}

Demo

孤君无依 2022-05-04 13:56:35
  1. 使用max-width优先级高于width特性
  2. 使用transform的scale
  3. 使用js拿到element后操作
-不疑不惑不回忆 2022-05-04 13:56:35
   img {
      box-sizing: border-box;
      padding-left: 180px;
    }
心舞飞扬 2022-05-04 13:56:33

获取当前dom元素,更改css样式。css属性按楼上发的改都可以。
在图片外层加一个div。样式写成 div img{background-size:100%},也可以

千秋岁 2022-05-04 13:56:21

来个有点局限的, 只适用于图片原始尺寸小于300的才行

<div style="display: flex;width:300px;height: 300px">
  <img src="./down.png" style="width:480px !important" />
</div>
你穿错了嫁妆 2022-05-04 13:47:13

padding:0 90px; box-sizing: border-box; max-width:300px

盗琴音 2022-05-04 12:55:53

比较硬核的是再加个
width: 300px !important;
把题目里的覆盖掉

零度° 2022-05-04 12:01:03
box-sizing: border-box;
padding: 0 90px;

这种也可以

暖风昔人 2022-05-04 01:55:04

max-width: 300px
transform: scale(0.625,0.625)
暂时只想到这两种

哑° 2022-04-30 01:42:19

max-width: 300px
不知道这样可不可以,大佬们请赐教

~没有更多了~

关于作者

溺孤伤于心

暂无简介

0 文章
0 评论
22 人气
更多

推荐作者

linfzu01

文章 0 评论 0

可遇━不可求

文章 0 评论 0

枕梦

文章 0 评论 0

qq_3LFa8Q

文章 0 评论 0

JP

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文