如何使用CSS获得当前年份?

时间:2014-01-03 12:34:15

标签: css css3 date

我在打印时向网页添加了版权信息,我使用了以下代码

@media print
{
    .page:after
    {
        content: "© 2013 Copyright message";
        font-size: 14px;
        position: absolute;
    }
}

有没有使用css获取当前年份的默认方式?

7 个答案:

答案 0 :(得分:11)

您可以将日期附加到div本身(data-date)并在服务器端/ javascript上生成它。然后在CSS中,您可以抓取它(attr(data-date))并附加到内容。它看起来像这样(对不起,未经测试)

content: "©  " attr(data-date) " Copyright message";

https://developer.mozilla.org/en-US/docs/Web/CSS/attr

http://davidwalsh.name/css-content-attr

答案 1 :(得分:2)

在纯CSS中,这是不可能的。您需要使用Javascript getDate()函数,或者如果您有任何服务器端脚本功能,则将其打印到您的页面中。

您可以在HTML中添加额外元素,使用JS填充日期(年份),默认情况下使用display:none隐藏,并在仅打印CSS中设置display:block

如果你真的想远离Javascript那么你可以使用SASS中的变量,但你仍然需要每年更新一次!

答案 2 :(得分:1)



window.onload = function()
{
  document.getElementById("spanYear").innerHTML = new Date().getFullYear();
}

Copyright 1900-<span id="spanYear"></span>
&#13;
&#13;
&#13;

答案 3 :(得分:0)

我不确定这是否可行,但你可以尝试一下。 如果你熟悉Sass和指南针(一个preproccesor及其编译器到css),或者如果你愿意学习,你可以试试这样的东西

def SomeController

#...

def create

@model = Model.new params[:model]

@model.date_field_name = Time.now

if @model.save

  # whatever should be done if validation passes or

  redirect_to @model

else

  # whatever should be done if validation fails or

  render :new

end`

end   #... end

the same problem solved in ruby

我的意思是,因为Sass是在Ruby on rails上构建的 你可以在ruby中写几行并导入项目中的文件。 编译后,您将只使用css文件结束。 希望我帮了一下。

答案 4 :(得分:0)

如果您使用的是Apache Web服务器,则可以使用SHTML(活动) 我使用一个页脚文件数千页。那么这里是: <!--#include virtual="myfile.txt" --> 你也可以在那里使用网址。 <!--#echo var="DATE_LOCAL"--> or <!--#echo var="DATE_GMT"-->或。{ <!--#config timefmt="%A, %d %B %Y"--><!--#echo var="DATE_LOCAL"-->您可以使用大量命令,但在我的网站上我喜欢第一种形式。 通过这种方式,我可以将内容设为虚拟。所以我的方案是filename.inc 问题是如果你想插入一个新的包含它将无法正常工作,除非你把它称为html / shtml。现在使用第一种形式来获得自动化年份。并且在该文件中的服务器上,您现在可以调用JavaScript / PHP /以获取日期。

享受 克里斯 BTW这是我使用shtml的主页:

<body>
<!--#config timefmt="%A, %B %d %Y"-->
<table WIDTH=100% HEIGHT=20% BORDER=1>
<tr HEIGHT=20%><td><center><font SIZE="+5"><b>Phoenix Trading</b></font><br>
<font SIZE="+2"><i>Buy, Sell, Trade... One to a Million</i></font>
</center></td></tr>
</table>

<table WIDTH=100% HEIGHT=70% BORDER=1>
<tr HEIGTH=70%>
<td width=200 align="left" valign="top">
<center><!--#echo var="DATE_LOCAL"--></center><br>
<p><!--#include virtual="menus/menu.inc"--></p>
</td>
<td valign=center><br>
<!--#include virtual="include/main.inc"-->
</td></tr></table>
<!--#include virtual="include/footer.inc"-->
</body>

答案 5 :(得分:-1)

多年前我用Visual Basic(VBScript)“解决”了版权更新问题,但不幸的是,它实际上是一个静音点,因为VB似乎只适用于旧版本的Internet Explorer(这个VB代码甚至没有出现在Internet上资源管理器11,我刚刚意识到通过阅读我的页脚,这显然是我忽视的东西!lol)。

这是我的VB代码,如果这有帮助,但真正需要的是一个过滤器,以隐藏它在IE以外的任何浏览器上(...好吧,IE 11也是一个静音点!哈哈)。有没有人有一些快速解决方案 - 但我认为相同的“...需要使用JavaScript”编码野鹅追逐问题适用? kml ;-)谢谢。

<script language="vbscript">
    document.write ("Copyright &copy; 1994-" + cstr(DatePart("YYYY", Now())) + " COPYRIGHT HOLDER NAME. All Rights Reserved.")
</script>

答案 6 :(得分:-1)

这是可能的,下面是一些例子:

HTML

<h1>Copyright Year in CSS</h1>
<h2>Set the current year using EQCSS</h2>
<footer>Your Name</footer>

CSS

footer {
  padding: 0;
  font-size: 24pt;
}
@element 'footer' {
  $this:before {
    content: '© eval("new Date().getFullYear()")\ '
  }
}

此示例取自此处:https://codepen.io/tomhodgins/pen/Qybgmo