Html 是否可以修改样式表中的“href”?

Html 是否可以修改样式表中的“href”?,html,css,anchor,href,Html,Css,Anchor,Href,我想将href分配移动到CSS 类似于而不是 在CSS中可以这样做吗 我在我的网站的几个地方有一个按钮,其相应的URL值在将来可能会改变。我只想在一个地方更改目标地址,即我的CSS文件,而不必为该按钮的每个实例手动更改它们。CSS是一个样式表,因此简短的回答是“否”。也不完全确定您希望更改的原因是什么,但如果是由于数据更改,使用JavaScript或PHP来代替。更简单、更合理、更可能。CSS是一个样式表,因此简短的答案是否定的。也不完全确定您想要的原因是什么,但如果是由于数据更改,请使用Jav

我想将href分配移动到CSS

类似于而不是

在CSS中可以这样做吗


我在我的网站的几个地方有一个按钮,其相应的URL值在将来可能会改变。我只想在一个地方更改目标地址,即我的CSS文件,而不必为该按钮的每个实例手动更改它们。

CSS是一个样式表,因此简短的回答是“否”。也不完全确定您希望更改的原因是什么,但如果是由于数据更改,使用JavaScript或PHP来代替。更简单、更合理、更可能。

CSS是一个样式表,因此简短的答案是否定的。也不完全确定您想要的原因是什么,但如果是由于数据更改,请使用JavaScript或PHP来代替。更简单、更合理、更可行。

href属性代表超文本引用。它不是一个适合于造型的实体;看这个。如果您希望设置该位置的文本值在页面上的显示方式,可以编写代码来设置a标记的样式,如果您希望更有趣,可以添加一对span标记,如下所示:

CSS:

a{ 字体:14px Arial,Helvetica; 颜色:00c; 文字装饰:无; 边框:4px点009; } a:悬停{ 边框:3px实心009; } 跨度{ 颜色:f0f; }
href属性代表超文本引用。它不是一个适合于造型的实体;看这个。如果您希望设置该位置的文本值在页面上的显示方式,可以编写代码来设置a标记的样式,如果您希望更有趣,可以添加一对span标记,如下所示:

CSS:

a{ 字体:14px Arial,Helvetica; 颜色:00c; 文字装饰:无; 边框:4px点009; } a:悬停{ 边框:3px实心009; } 跨度{ 颜色:f0f; }
正如其他答案中所解释的那样,这种行为并没有得到真正的支持。但是,如果您真的需要在页面上使用它,可以使用一些JavaScript添加它。CSS中使用的自定义变量/属性需要以-开头,我将使用名称-href override

我们将侦听文档中链接上的所有mousedown和touchstart事件。这些事件非常有用,因为它们总是在注册单击之前发生。每次处理其中一个事件时,我们都会检查关联的链接是否在CSS中定义了-href override属性/变量。如果是这样,我们将HTML href替换为CSS-href覆盖值,浏览器将在处理单击事件时自动使用该新值

函数overrideEventTargetHrefevent{ //如果它是点击链接的开始。。。 如果event.target.tagName=='A'{ var link=event.target; var override=getComputedStylelink.getPropertyValue'-href override'.trim; //如果链接有CSS href覆盖,并且与HTML href不同。。。 如果覆盖(&override)=link.href{ //将HTML href替换为CSS href覆盖 link.href=覆盖; } } } addEventListener'mousedown',overrideEventTargetHref,false; addEventListener'touchstart',OverrideeEventTargethref,false; .覆盖{ -href覆盖:https://stacksnippets.net/; }
正如其他答案中所解释的那样,这种行为并没有得到真正的支持。但是,如果您真的需要在页面上使用它,可以使用一些JavaScript添加它。CSS中使用的自定义变量/属性需要以-开头,我将使用名称-href override

我们将侦听文档中链接上的所有mousedown和touchstart事件。这些事件非常有用,因为它们总是在注册单击之前发生。每次处理其中一个事件时,我们都会检查关联的链接是否在CSS中定义了-href override属性/变量。如果是这样,我们将HTML href替换为CSS-href覆盖值,浏览器将在处理单击事件时自动使用该新值

函数overrideEventTargetHrefevent{ //如果它是点击链接的开始。。。 如果event.target.tagName=='A'{ var link=event.target; var override=getComputedStylelink.getPropertyValue'-href override'.trim; //如果链接有CSS href覆盖,并且与HTML href不同。。。 如果覆盖(&override)=link.href{ //将HTML href替换为CSS href覆盖 link.href=覆盖; } } } addEventListener'mousedown',overrideEventTargetHref,false; addEventListener'touchstart',OverrideeEventTargethref,false; .覆盖{ -href覆盖:https://stacksnippets.net/; }
不,这样不行。你可以知道你想做什么?@Brad我有一个按钮,在我的网站上有几个地方,它们的参考位置可能会在将来发生变化。我只想更改CSS文件中的目标地址,而不是更改该按钮的每个实例的目标地址。@MMahdi更改代码应该很简单。如果你的页面
如果是静态的,一个简单的查找/替换就可以了。如果您正在动态生成页面,那么您可以选择任意数量的方法将该路径指向其他地方。如果你真的想,你可以使用一个定义位置的JavaScript文件,然后使用一个脚本在加载时更新页面,但是要注意爬虫程序并不总是运行脚本。另外,如果你确实更新了页面位置,你应该从旧的URL重定向到新的URL,这样任何为你的页面添加书签的人都可以找到新的URL。不,这样不行。你可以知道你想做什么?@Brad我有一个按钮,在我的网站上有几个地方,它们的参考位置可能会在将来发生变化。我只想更改CSS文件中的目标地址,而不是更改该按钮的每个实例的目标地址。@MMahdi更改代码应该很简单。如果你的页面是静态的,一个简单的查找/替换就可以了。如果您正在动态生成页面,那么您可以选择任意数量的方法将该路径指向其他地方。如果你真的想,你可以使用一个定义位置的JavaScript文件,然后使用一个脚本在加载时更新页面,但是要注意爬虫程序并不总是运行脚本。此外,如果您确实更新了页面位置,您应该将旧URL重定向到新URL,以便为您的页面添加书签的任何人都可以找到新的URL。是的,这确实是由于数据更改所致。我希望引用链接可以被视为一种风格。无论如何,谢谢。尝试使用JS或后端语言处理任何更改的数据。请将此标记为最终答案。非常感谢@Adrian的帮助。我不知道你说的最终答案是什么意思,你是说绿色的记号?我可以选择多个最终答案吗?不是只有一个,而是绿色的复选标记。没问题!的确,这是由于数据的变化。我希望引用链接可以被视为一种风格。无论如何,谢谢。尝试使用JS或后端语言处理任何更改的数据。请将此标记为最终答案。非常感谢@Adrian的帮助。我不知道你说的最终答案是什么意思,你是说绿色的记号?我可以选择多个最终答案吗?不是只有一个,而是绿色的复选标记。没问题!