超链接居中需用CSS布局实现,target="_blank"仅控制新开标签页;安全跳转必须同时设置rel="noopener noreferrer"。

超链接本身不能“居中排版”,target="_blank" 控制的是跳转行为,和视觉居中无关;你要的其实是「带新标签页跳转的链接」在页面中如何水平(或垂直)居中显示——这是两个独立问题,必须分开处理。
超链接居中不是靠 target 属性实现的
很多人误以为 target="_blank" 有布局作用,其实它只是告诉浏览器“在哪打开”,对元素位置毫无影响。链接是否居中,完全由它的 CSS 样式或父容器布局决定。
-
target="_blank"只负责新开标签页,不控制对齐、大小、位置 - 即使写了
target="_blank",链接仍默认左对齐(块级默认占满行,行内默认贴左) - 想让它居中,得用
text-align: center、margin: 0 auto、Flexbox 等常规居中手段
给 @#@#@#@#@#@#@#@#@#@0 —— 这无效,因为行内元素不响应 margin: auto。安全打开新标签页的写法不能省略 rel
rel
只写 target="_blank" 在现代浏览器(Chrome 88+、Firefox 79+、Safari 15.4+)中会被降级为当前页跳转,除非同时带上 rel="noopener noreferrer":
-
rel="noopener"切断window.opener引用,防止新页面篡改原页 -
rel="noreferrer"隐藏Referer,保护来源隐私 - 漏掉任意一个都可能带来安全风险或兼容性问题(比如 Safari 旧版仍暴露
opener)
正确写法:@#@#@#@#@#@#@#@#@#@1。动态生成时务必用 DOM API 显式设置这三项,别拼字符串。
完整可运行示例:居中 + 安全新开标签页
以下代码让一个带图标的外部链接在页面中水平垂直居中,且新开标签页安全跳转:
<div style="display: flex; justify-content: center; align-items: center; height: 100vh; margin: 0;">
<a href="https://example.com" target="_blank" rel="noopener noreferrer" style="display: inline-block; padding: 12px 24px; background: #007bff; color: white; text-decoration: none; border-radius: 4px;">
访问官网
</a>
</div>
注意:这里用了 Flex 布局实现居中,<a></a> 设为 inline-block 才能生效 padding 和背景;rel 和 target 缺一不可。实际项目中,这些样式应抽离为类名,而非内联。
真正容易被忽略的是:居中逻辑和新开标签页逻辑完全解耦,但开发者常把它们混为一谈——结果要么链接没居中,要么开了新页却埋了安全漏洞。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











