css3制作时钟样式,css做时钟

如何用jQuery和CSS3制作数字时钟

这个时钟不需要很多HTML,这是因为它很大的一部分,像工作日的名称和数字都是动态生成的。 下面是你需要在你页面上使用时钟时要有的标签:

让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:域名申请、虚拟空间、营销软件、网站建设、市南网站维护、网站推广。

index.html

div id="clock" class="light"

div class="display"

div class="weekdays"/div

div class="ampm"/div

div class="alarm"/div

div class="digits"/div

/div

/div

主元素为#clock的div,包含.display的div,用于容纳平日列表、AM/PM标记、闹铃和时间。 下面代码为每个数字生成一个标签:

div class="zero"

span class="d1"/span

span class="d2"/span

span class="d3"/span

span class="d4"/span

span class="d5"/span

span class="d6"/span

span class="d7"/span

/div

.digits元素包含6个像这样带span的div,每个div为时钟的一个数字。就像你在上面片段中所见到的一样,这些div拥有一个从0到9的样式名称,并且包含7个带独立样式的span元素,这些span是数字的一部分,像老的数字时钟一样:

数字说明

它们完全用CSS样式渲染且默认设置为 opacity:0 。定义在它们父div上的样式将决定它们的可见性。下面是数字“0”的CSS:

assets/css/styles.css

/* 0 */

#clock .digits div.zero .d1,

#clock .digits div.zero .d3,

#clock .digits div.zero .d4,

#clock .digits div.zero .d5,

#clock .digits div.zero .d6,

#clock .digits div.zero .d7{

opacity:1;

}

除了中间一个,所有的片断都是可见的,我已经向所有的这些span添加了CSS3转换属性,当在数字之间切换时出现渐变效果。

样式表里有很多其他CSS,我不再这列举。我相信最好的方式去学习CSS如何工作就是在Firebug、Chrome的审查器或你浏览器里的开发者工具里即时审查demo的代码。

黑色主题

jQuery 代码

要想要时钟工作,我们将使用jQuery生成每个数字的标签,并且设置一个定时器每秒钟更新一次样式,为了更简单,我们使用moment.js 库(快速开始) 来补偿JavaScript原生日期和时间方法的缺陷。

assets/js/script.js

$(function(){

// Cache some selectors

var clock = $('#clock'),

alarm = clock.find('.alarm'),

ampm = clock.find('.ampm');

// Map digits to their names (this will be an array)

var digit_to_name = 'zero one two three four five six seven eight nine'.split(' ');

// This object will hold the digit elements

var digits = {};

// Positions for the hours, minutes, and seconds

var positions = [

'h1', 'h2', ':', 'm1', 'm2', ':', 's1', 's2'

];

// Generate the digits with the needed markup,

// and add them to the clock

var digit_holder = clock.find('.digits');

$.each(positions, function(){

if(this == ':'){

digit_holder.append('div class="dots"');

}

else{

var pos = $('div');

for(var i=1; i8; i++){

pos.append('span class="d' + i + '"');

}

// Set the digits as key:value pairs in the digits object

digits[this] = pos;

// Add the digit elements to the page

digit_holder.append(pos);

}

});

// Add the weekday names

var weekday_names = 'MON TUE WED THU FRI SAT SUN'.split(' '),

weekday_holder = clock.find('.weekdays');

$.each(weekday_names, function(){

weekday_holder.append('span' + this + '/span');

});

var weekdays = clock.find('.weekdays span');

// Run a timer every second and update the clock

(function update_time(){

// Use moment.js to output the current time as a string

// hh is for the hours in 12-hour format,

// mm - minutes, ss-seconds (all with leading zeroes),

// d is for day of week and A is for AM/PM

var now = moment().format("hhmmssdA");

digits.h1.attr('class', digit_to_name[now[0]]);

digits.h2.attr('class', digit_to_name[now[1]]);

digits.m1.attr('class', digit_to_name[now[2]]);

digits.m2.attr('class', digit_to_name[now[3]]);

digits.s1.attr('class', digit_to_name[now[4]]);

digits.s2.attr('class', digit_to_name[now[5]]);

// The library returns Sunday as the first day of the week.

// Stupid, I know. Lets shift all the days one position down,

// and make Sunday last

var dow = now[6];

dow--;

// Sunday!

if(dow 0){

// Make it last

dow = 6;

}

// Mark the active day of the week

weekdays.removeClass('active').eq(dow).addClass('active');

// Set the am/pm text:

ampm.text(now[7]+now[8]);

// Schedule this function to be run again in 1 sec

setTimeout(update_time, 1000);

})();

// Switch the theme

$('a.button').click(function(){

clock.toggleClass('light dark');

});

});

CSS3中,如果初始化div已经绕Y轴旋转一定角度, 如何让div连续不停的绕Y轴旋转。

你现在可以旋转一圈吗,如果可以就用一个setInterval()方法来调用函数,它会不停的调用函数,

如果你现在只是写了这个静态的样式,有2中方法,

1种是把html5和css3中类似于时钟的做法,网上又很多,自己查一下,

第2中方法是做成一个3d效果的,js加上css3中专为3d设计的属性 rotateY(),你可以看一下

css3怎么实现这个样式

图片的高度是可以指定的,js可以控制,document.getElementById("img").style.width=;

如何用纯CSS3制作进度条

1、写一个样式为.containe的div用来包含进度条,其次是用样式为.title的div来包裹标题。

2、接下来,添加样式为.bar的di来包含填充和未填充的进度条样式。最后,在.bar里添加样式为.bar-unfill 和.bar-fill的span标签。

div class="container"

div class="title plain"Plain/div

div class="bar"

span class="bar-unfill"

span class="bar-fill"/span

/span

/div

/div

3.简单的进度条的CSS代码.container 类里将 width 定义为 30% 使进度条能够自适应。放一些简单的 border-radius 之类的属性在我们的 .title 类里以修改顶部和底部的左边的边框弧度,创建一个简单明了的平板式设计。

.container {

width:30%;

margin:0 auto

}

.title {

background:#545965;

color:#fff;

padding:15px;

float:left;

position:relative;

-webkit-border-top-left-radius:5px;

-webkit-border-bottom-left-radius:5px;

-moz-border-radius-topleft:5px;

-moz-border-radius-bottomleft:5px;

border-top-left-radius:5px;

border-bottom-left-radius:5px

}

4.首先建一个白色的背景

.bar-unfill {height:15px;display:block;background:#fff;width:100%;border-radius:8px}

5.定义进度条的样式,先令他的宽度为 100% ,因为这也会应用于定义和未定义的部分。所以在我们的 .bar-fill 的类里,令他的宽度为 0 作为起始的宽度,添加CSS3的 transition 属性使动画效果更加流畅,最后,我们将添加CSS3里的 animation 属性,定义动画的名字,和 duration 和 animation-iteration-count 属性。

.bar-fill {

height:15px;

display:block;

background:#45c9a5;

width:0;

border-radius:8px;

-webkit-transition:width .8s ease;

-moz-transition:width .8s ease;

transition:width .8s ease;

-webkit-animation:progressbar 7s infinite;

animation:progressbar 7s infinite

}

6.使用CSS3里的 @keyframe 规则来设置宽度从 0 变化到 100% 。你也能定制你自己喜欢的变化。

@-webkit-keyframes progressbar { 

from {

width:0

}

to {

width:100%

}

}

/* Standard syntax */

@keyframes progressbar {

from {

width:0

}

to {

width:100%

}

}

7.条纹进度条,应该把 .bar-fill 重新命名为 .bar-fill-stripes 。使用 backgrou-image 属性里的 linear-gradient 同时声明它的颜色。剩余的CSS3动画效果也是和上述相同,看下面的代码:

.bar-fill-stripes {

height:15px;

display:block;

background:#e74c3c;

width:0;

border-radius:8px;

background-image:linear-gradient(-45deg,rgba(255,255,255,.2) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.2)   50%,rgba(255,255,255,.2) 75%,transparent 75%,transparent);

-webkit-transition:width .8s ease;

-moz-transition:width .8s ease;

transition:width .8s ease;

-webkit-animation:progressbar 7s infinite;

animation:progressbar 7s infinite

}

追踪

div class="container"

div class="title"Tracker/div

div class="bar"

span class="bar-unfill"

span class="bar-fill-tracker"/span

span class="track-wrap"

span class="track"/span

/span

/span

/div

/div

8.最后产生动画效果

.track-wrap {

position:relative;

top:-18px;

-webkit-animation:progressbar2 7s infinite;

animation:progressbar2 7s infinite

}

.track {

height:20px;

display:block;

background:#e74c3c;

width:20px;

border-radius:10px;

position:relative;

left:-12px

}

@-webkit-keyframes progressbar2 {

from {

left:0

}

to {

left:100%

}

}

/* Standard syntax */

@keyframes progressbar2 {

from {

left:0

}

to {

left:100%

}

}

css3 怎么画时钟的刻度

插入--图片--自选图形

选择各种图形,发挥自己的想像任意调整位置,构成时钟图形

配置线条粗细,线条颜色等

自己的个性时钟随即完美呈现

给你做了一个,喜欢的话加点分哦。呵呵

百度首页的那个时钟是怎么做的? 它就是几个png格式的图片啊?怎么可以跟系统时间一样呢?

只要用JavaScript读取系统时间,然后把指针的图片按照计算好的角度旋转就可以了

支持css3的浏览器用的是 rotate(282deg) 这样的css,IE下是类似的vml方式


网站题目:css3制作时钟样式,css做时钟
标题链接:http://scyanting.com/article/dsgigjp.html