Как получить текущий год с помощью css?

я добавлял сообщение об авторских правах на веб-страницу во время печати, я использовал следующий код

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

есть ли способ по умолчанию получить текущий год с помощью css?

6 ответов


вы можете прикрепить дату к самому 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


в чистом CSS это невозможно. Вам нужно будет использовать Javascript getDate() функция для этого или распечатайте его на своей странице, если у вас есть какие-либо возможности сценариев на стороне сервера.

вы можете добавить дополнительный элемент в свой HTML, заполнить дату (год) с помощью JS, скрытый по умолчанию с display:none и set display:block в вашей печати только CSS.

Если вы действительно хотите держаться подальше от Javascript, вы можете использовать переменную в Сасс, а вы все равно нужно обновлять это каждый год!


Я не уверен,что это возможно, но вы можете попробовать. Если вы знакомы с Sass и compass (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

та же проблема решена в Руби!--26-->

что я имею в виду, так как Sass построен на Ruby on rails вы можете написать несколько строк в ruby и импортировать файл в проект. После компиляции вы закончите только с файлом css. Надеюсь, я немного помог.


window.onload = function()
{
  document.getElementById("spanYear").innerHTML = new Date().getFullYear();
}
Copyright 1900-<span id="spanYear"></span>

если вы используете веб-сервер Apache, вы можете использовать SHTML (active) Я использую один файл нижнего колонтитула для тысяч страниц. Ну вот и все.: <!--#include virtual="myfile.txt" --> Вы также можете использовать url-адрес. <!--#echo var="DATE_LOCAL"--> or <!--#echo var="DATE_GMT"--> или <!--#config timefmt="%A, %d %B %Y"--><!--#echo var="DATE_LOCAL"--> есть множество команд для использования, но на моих сайтах, мне нравится первая форма. Таким образом, я могу сделать содержимое виртуальным. поэтому моя схема-это имя файла.Инк проблема в том, что если вы хотите вставить новый include, он не будет работать, если вы не назовете его html/shtml. чтобы получить автоматизированный год теперь используйте первую форму. и на вашем сервере в этом файле теперь вы можете вызвать JavaScript/PHP / что угодно, чтобы получить свои даты.

наслаждайтесь Крис Кстати вот моя главная страница с помощью 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>

лет назад я "решил" проблему обновления авторских прав с помощью Visual Basic (VBScript), но, к сожалению, это действительно немая точка, потому что VB, похоже, работает только в старых версиях Internet Explorer (этот код VB даже не появляется в Internet Explorer 11, и я просто понял, что, читая мой нижний колонтитул, который я, очевидно, склонен пренебрегать! lol).

вот мой код VB, если это помогает, Но что действительно нужно, это фильтр, чтобы скрыть его в любом браузере, кроме IE (...ну, IE 11 сделал это немым тоже! lol). У кого-нибудь есть быстрое исправление для этого, но я предполагаю, что тот же самый "...должен был бы использовать JavaScript", кодирующий проблему wild goose chase? кмл ;-) спасибо.

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