分享

建站教程>CMS建站>div+css布局中UL和LI的使用方法介绍

 对酒当哥2010 2010-10-04
div+css布局中UL和LI的使用方法介绍
http://www. | 时间:2010-05-28 

一、清除缩进和项目符
1、清除项目符和缩进:ul {list-style: none; padding-left:0px;}
2、清除缩进    ul {margin:7;list-style-type:disc;}
3、清除缩进    ul {margin-left:20px}
4、清除缩进    ul {margin-left: -24px;}
二、更换项目符漂亮小图标
下面有3种实现方法:
1、简单方法
ul{list-style-image:url(/images/icon.gif);}
这种方法不同的浏览器的显示效果会有一些差异,主要是在图片的垂直位置上。有些浏览器会使图片和列表项文本的中部位置平齐,有的又会显示得高一些,总之就是有些不一致。
2、复杂方法
ul {list-style:none;}
li{background: url(/images/icon.gif) no-repeat 0px 50%; padding-left:17px;}
可以解决上面的浏览器不兼容的问题。首先,清除默认的项目符号,然后加上我们自己的背景图片。no-repeat告诉浏览器不要平铺这张图片,0px 50%告诉背景图片应该位于距左侧0px 且竖直方向位于顶部往下50%处,实际上就是在竖直方向居中。我们在左侧加上了17px的边距,这样那些15px宽5像素高的小图标就能完全显露出来,不会被文本遮挡,并且和文本之间有一点间隔。
3、常规方法
li {background: url(/images/icon.gif) no-repeat 0px 50%; padding-left:17px;}
三、更换项目符为小方块
ul {list-style-type: square;}
list-style-type可以有以下取值:
取值:disc | circle | square | decimal | decimal-leading-zero | lower-roman | upper-roman | lower-greek | lower-latin | upper-latin | armenian | georgian | lower-alpha | upper-alpha | none | inherit
disc:点
circle: 圆圈
square: 正方形
decimal: 数字
decimal-leading-zero: 以一个0开头的数字e.g., 01, 02, 03, ..., 98, 99
lower-roman: 小写罗马文字i, ii, iii, iv, v, /etc.
upper-roman: 大写罗马文字I, II, III, IV, V, /etc.
lower-greek: 小写阿拉伯文字α, β, γ, ...
lower-latin: 小写拉丁文a, b, c, ... z
upper-latin: 大写拉丁文A, B, C, ... Z
armenian: 亚美尼亚数字
georgian: 乔治亚数字an, ban, gan, ..., he, tan, in, in-an, ...
lower-alpha: 小写拉丁文a, b, c, ... z
upper-alpha: 大写拉丁文A, B, C, ... Z
none: 无(取消所有的list样式)
inherit:继承
四、行列排法
1、默认为纵向横向,无须设定。
2、横向排列,对<li>设定左对齐:li{float:left; }
2、多行多列排列:一是设定<li>左对齐:li{float:left; };二是确定<ul>的宽度和<li>的宽度;一个<li>是一列,第一排横<li>个数之和等于<ul>的宽度。
五、<li>与<ul>浏览器兼容
兼容浏览器   在CSS中加:
list-style-position: outside;

六、<li>与<ul>列表应用实例
1、用无序列表(<li>)也可以代替表格(<table>)制作横向的导航列表
html代码
<ul id="minitabs">
<li><a href="/" >网站</a></li>
<li><a href="http://blog./admin.php#" >我的博客</a></li>
<li><a href="/star.php">精华文章</a></li>
<li><a href="/links.php">友情链接</a></li>
</ul>
CSS代码
#minitabs{
height:29px;
font-size:12px;
margin:0px;
padding:0px;
border-bottom:1px solid #696;
}
#minitabs li {
height:25px;
margin:0px;
padding:0px;
display:inline;
list-style-type:none;
}
#minitabs a {
float:left;
line-height:25px;
font-weight:bold;
margin:0px 10px 0px 10px;
text-decoration:none;
color:#9c9;
}
#minitabs a.active, #minitabs a:hover {
border-bottom:4px solid #696;
color:#363;
}
#minitabs a:hover {
color:#696;
}
我们这里实际做的是去掉了项目符号以及默认的缩进。display:inline;把列表变成水平方向。我们还让列表中所有a元素 float:left; 实际上就是强制它们在水平方向对齐成一行。我们还加上了一些颜色,让链接文本以粗体显示,并且去掉了链接默认的下划线。

 


2、行列排法100排十行十列
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www./TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www./1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>1到100 利用CSS+ul+li 排列成十行十列</title>
<style type="text/css">
#mainDiv{
width:490px;
padding:10px;
background-color:#ccc;
overflow:hidden;
}
ul{
list-style:none;
padding:0;
margin:0;
}
li{
width:48px;
float:left;
margin:-1px 0 0 -1px;
border:1px solid #333;
text-align:center;
}
</style>

</head>
<body>
<div id="mainDiv">
<ul>
<script type="text/javascript">
var i;
for(i=1;i<=100;i++){
document.write("<li>" + i + "</li>");
}
</script>
</ul>
</div>
</body>
</html>
中间用了段js代替。纯CSS用下面的代码替换<script type="text/javascript"> <ul>……</script> </ul>就可以了。
<ul>
<li>1</li>
<li>2</li>
...
<li>100</li>
</ul>
主要要点:
1、确定<ul>的宽度和<li>的宽度;一个<li>是一列,第一排横<li>个数之和等于<ul>的宽度。
2、对<li>设定左对齐:li{float:left; }



2、行列排法100排十行十列
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www./TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www./1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>1到100 利用CSS+ul+li 排列成十行十列</title>
<style type="text/css">
#mainDiv{
width:490px;
padding:10px;
background-color:#ccc;
overflow:hidden;
}
ul{
list-style:none;
padding:0;
margin:0;
}
li{
width:48px;
float:left;
margin:-1px 0 0 -1px;
border:1px solid #333;
text-align:center;
}
</style>

</head>
<body>
<div id="mainDiv">
<ul>
<script type="text/javascript">
var i;
for(i=1;i<=100;i++){
document.write("<li>" + i + "</li>");
}
</script>
</ul>
</div>
</body>
</html>
中间用了段js代替。纯CSS用下面的代码替换<script type="text/javascript"> <ul>……</script> </ul>就可以了。
<ul>
<li>1</li>
<li>2</li>
...
<li>100</li>
</ul>
主要要点:
1、确定<ul>的宽度和<li>的宽度;一个<li>是一列,第一排横<li>个数之和等于<ul>的宽度。
2、对<li>设定左对齐:li{float:left; }

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约