html 如何只通过 CSS 控制图片在新窗口打开

2022-11-29 11:30:58 +08:00
 ggp1ot2

rt 。

只能在<style>中修改页面 css 或者在<script>中添加 js 代码,无法修改 html 标签的内容。

如何实现控制点击 a 标签下的图片,在新窗口打开?

貌似无法在 css 中设置 html 标签 target = _blank,尝试设置 img css 的属性也不行

target-name:new;
target-new:tab;

我尝试使用在 head 下添加 <base target="_blank">,但是这样所有可以点击的按钮都在新窗口打开了。

有没有办法只通过 css 来实现,只有 img 标签在新窗口打开

1645 次点击
所在节点    程序员
5 条回复
libook
2022-11-29 11:37:51 +08:00
可以写 JS 不就可以在运行时操作 HTML 了嘛。document.querySelector 选中要操作的图片 DOM ,然后 setAttribute target 改成_blank
TGl2aWQgIFNC
2022-11-29 11:40:05 +08:00
同楼上,那就用 js 去修改 DOM 呗
gra
2022-11-29 11:45:05 +08:00
js 简单,还不用考虑兼容
BeijingBaby
2022-11-29 11:54:38 +08:00
a[href="http"] { target: new; target-name: new; target-new: tab; }
thinkershare
2022-11-29 13:09:52 +08:00
纯 CSS 理论上来说可以实现,但是因为浏览器并没有实现你要的规范,因此目前此问题无解。
本来应该生效的方案:a:has(img) { target-new:tab; target-name:new; }
但是: 目前没有任何浏览器实现 target property css rule 。
另外,此问题 SO 上面已经有此问题的完整答案了,没必要在这里提问了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/898742

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX