2017-04-13 71 views
2

我对CSS有一个基本的问题,因为我对web开发很陌生。是否可以在网页上应用CSS,并分别使用网页的URL?

我们可以在特定于网址的网页上应用CSS样式吗?

我知道CSS没有其他条件,比如我们有Javascript,但我只是为了检查是否有任何智能的方法。或者它根本不可能。

例如在JavaScript,你这样做以下:

if (window.location.href.indexOf("webpage1.com") > -1) { 
................. 
................... 
................ 
} 

我们可以用CSS类似的事情呢?

请为我提供宝贵的建议。

+0

我不明白为什么我一直被否决投票。正如我已经提到,它不可能,但只是检查是否有聪明的做法。如果这是你想要做的事情,请在回答 –

+0

可以加载基于url的不同样式表之前完全阅读这个问题。只需在脚本中添加链接标签 – charlietfl

回答

1

编号CSS没有任何内容可以读取它所嵌入的页面的URL。

唯一标识页面通常通过将id添加到htmlbody元素来完成。

+0

@camccar - 我认为您的意思是HTML类...并不是,但您无法通过CSS来实现。你需要一种编程语言。 – Quentin

0

这是不可能的CSS与页面的URL连接,但你可以添加一个类或ID到您的网页的HTML元素

HTML:

<html class="subpage"> 

CSS:

.subpage{ add some rules } 

HTML:

<html class="main"> 

CSS:

.main{ add some different rules} 
+0

感谢您的回复。我无权编辑HTML代码。我只能在外部添加自定义css或js脚本。它基本上是一个像WordPress的网站。 –

0

如果您不介意在加载内容后运行脚本,则可能会出现这种情况。

该脚本可以获取主机名并将其用作className以附加到您想要根据特定url更改样式的元素,当然提供的样式是预定义的。例如:

HTML

<div id="main">Hello World</div> 
... 
... 
... 
<script>document.getElementById("main").className = window.location.hostname.split('.').join('-')</script> 

CSS

#main { 
color : red; 
} 
#main.fiddle-jshell-net { 
    color : green; 
} 
#main.google-net { 
    color : black; 
} 

看到fiddle

0

如果有很多的款式进行更新 - 在某种程度上,这将是值得加入的完全新样式表到级联的底部 - 简单地说:

  • 创建一个新的样式表(例如)。extra-styles.css
  • 如果条件为真,该样式表的引用添加到DOM

EG。

if (window.location.href.indexOf('page1') > -1) { 

    var extraStyles = document.createElement('link'); 
    extraStyles.setAtttribute('rel', 'stylesheet'); 
    extraStyles.setAtttribute('href', '/path/to/extra-styles.css'); 
    document.head.appendChild('extraStyles'); 

} 
相关问题