滚动文字等有用代码(放在自定列表中实现)

滚动字代码
1.建立第一个滚动字幕。代码:
<marquee width="200" height="100" direction="right" behavior="alternate" scrollamount="6" scrolldelay="88">你要设置的文字</marquee>
2.各参数详解:
a)scrollAmount。它表示速度,值越大速度越快。如果没有它,默认为6,建议设为1~3比较好。
b)width和height,表示滚动区域的大小,width是宽度,height是高度。特别是在做垂直滚动的时候,一定要设height的值。
c)direction。表示滚动的方向,默认为从右向左:←←←。可选的值有right、down、up。滚动方向分别为:right表示→→→,up表示↑,down表示↓。
d)scrollDelay,这也是用来控制速度的,默认为90,值越大,速度越慢。通常scrollDelay是不需要设置的。
e)behavior。用它来控制属性,默认为循环滚动,可选的值有alternate(交替滚动)、slide(幻灯片效果,指的是滚动一次,然后停止滚动)
3.实例:
a)如何给滚动字幕加超链接?这跟平时的超链接是完全一样的。只要在文字外面加上<a href=***>和</a>就可以了。代码是:
<marquee scrollAmount=2 width=300><a href=http://qqjia.com>你要设置的文字</a></marquee>
b)当鼠标停留在文字上,文字停止滚动代码:
<marquee scrollAmount=2 width=300 onmouseover=stop() onmouseout=start()>碧云轩-QQ家园</marquee>

c)交替效果。代码如:
<marquee scrollAmount=2 width=150 behavior=alternate>你要设置的文字</marquee>

d)多行文本向上滚动。代码如:
<marquee scrollAmount=2 width=300 height=50 direction=up>你要设置的文字br>你要设置的文字<br><a href=http://qqjia.com>你要设置的文字</a></marquee>

e)改变滚动字幕的颜色?可以用样式表来控制。代码是:
<marquee scrollAmount=2 width=300><a style=color:CC6600>你要设置的文字</a></marquee>
<a style=color:CC6600>为颜色设置

更多参考:http://baike.baidu.com/view/1214012.htm

最大高度max-height最小高度min-height兼容各浏览器

一个项目中要有这么一个效果:列表默认有一个高度,当超出高度时就出现滚动条.这很简单只需要:给容器的div定义一个高度,然后overflow: auto;
但是这并不是他想要的,还有另外的要求:当列表中的内容没有超出这个高度的时候,它只占有它自身的高度,举个例子:整个列表的最大高度是二行,当内容只有一行时它只显示一行的高度,二行的时候显示两行,当超过二行时就出现滚动条了.

点击查看demo演示

ie7和ff默认是支持max-height,但是ie6、Chrome不支持该写法,如果让让max-height在ie6,Chrome都兼容呢,需要写上height: expression( this.scrollHeight > 60 ? "60px" : "auto" );-webkit-max-height: 60px;

min-height最小高度的实现(兼容IE.hack-max-height6、IE7、FF)

.hack-max-height{ height:auto!important; height:100px; min-height:100px;}注意书写的顺序

深入解析模板技术原理【一】

1、模板的由来
在没有模板技术之前,使用PHP开发程序,通常都是php代码和html混编在一起。比如说新闻列表,很可能就是一个newslist.php页面,结构如下:


<?
//从数据库中读取出要显示的新闻记录
?>
<html>
<head>……..
</head>
<body>
<?
While ($news = mysql_fetch_array($result)) {
?>
<!--输出新闻标题   -- >
<?
}
?>
</body>
</html>

那么这样有什么问题呢?首先,不利于分工合作。一般来说,都会由程序员来写代码,美工人员设计页面。那么在这种方式中,程序员必须等待美工人员把界面设计好才能开始工作。也就是说程序员和美工的工作是不能同步的。其次、不利于维护,可维护性差。比如说程序固定后,要修改界面,那么必须由美工修改后,程序员再重新添加。最后,程序结构混乱,可读性差。HTML和PHP混编在一起,一旦程序一多,就会变的非常的凌乱。
理解模板原理——使用PHP标签的模板技术
模板技术正是为了解决这些问题而出现的,为了解决这些问题,最早出现的是使用php标签的模板技术。
首先,我们要明白模板的目的是什么。模板主要要实现几个任务呢?第一、美工和程序的分离。更确切的说法是获取数据和显示数据的分离。第二、分工。良好的分工合作。
比如说新闻列表,如果使用模板,我们就可以把新闻列表的操作分成两部分:
1、 getnews.php 负责从数据库中读取数据到数组$news中,不关心$news是如何显示的。
2、 Shownews.php 负责把$news数组输出成HTML页面。而它不需要理会$news是从哪里来的。
好,这样,我们就实现了美工和程序的分离,达到了我们的初步目的,但是如何把这两个页面联合起来,并实现listnews.php的功能呢?
这就需要另外一个页面listnews.php,来负责把“美工(显示数据)”和“程序员(获取数据)”连接起来。应该说这个页面就是很简单了。
假设getnews.php的代码如下:

<?
$news =“新闻列表”;//实际中应该是从数据库中读取出来的。
?>

Shownesw.php的代码如下:

<html>
<head>
<title>显示新闻</title>
</head>
<body>
<?=$news?>
</body>
</html>

那么,这个联合页面listnews.php的代码就很简单了

<?
Include(‘getnews.php’);//获取数据
Include(‘shownesw.php’);//显示数据
?>

总结
使用PHP标签的模板系统,能够很好的实现美工和程序的分离,同时方便程序员和美工人员的分工合作,比如在上面的例子中shownews.php由美工人员来维护,getnews.php由程序人员来维护。而listnews.php就可以由系统设计人员来维护了。当然这中间需要增加一些约定的文档。
事实上,这个简单的例子也说明了最基本的MVC模型。其中M,模型,也就是负责读取数据,相当于我们的getnews.php。V,就是试图,用来显示数据,也就对应了shownews.php。最后是控制器C,对应我们的listnews.php
学习解释性模板技术——PHPLIB
Phplib的模板系统以小巧灵活、方便简单的特点赢得了很多phper的喜欢,在模板技术中占有一定的地位,它和fasttemplate之类的模板引擎都属于解释性模板技术。
在具体讲解phplib的使用之前,先说明为什么使用php标签的模板系统要继续改进。其实,这主要还是因为PHP标签对美工人员来说不方便。他们更加喜欢直接使用这种可视化的标签,比如{title}。
首先,我们自己把之前我们那个例子修改成使用可视化的标签来处理。第一步,把shownews.php改成shownews.tpl,里面的php标签换成可视化的标签,shownews.tpl的代码如下:

<html>
<head>
<title>显示新闻</title>
</head>
<body>
{title}
</body>
</html>

第二步,如何实现listnews.php的效果呢?其实很简单,我只要直接把{title}替换成不就可以了吗?所以,修改后的listnews.php的代码如下:

<?
Include('getnews.php');//获取数据
echo str_replace('{title}',$news,file_get_contents('shownews.tpl'))
?>

其实phplib的原理正是这样!比如说我们要使用phplib来实现上面功能,我们只需要修改listnews.php.修改后代码如下:

<?
Include('getnews.php');//获取数据
include('template.class.php');
$t=new Template();
$t->set_file(‘shownesw,'shownews.tpl');
$t->set_var('news',$news);
$t->parse('out', ‘shownesw’);
$t->p('out');
?>

另外关于phplib的区域,大家可以去查阅相应的手册。
编译型的samrty,下次继续讲