一、横向两列方式排列:

在网页中,很多地方都会用到无序列表横向排列的形式,通常的写法都是使得li的css样式设置为:float:left的形式即可,li会依次从最左边开始并列对齐,

例如:

HTML中:

 <ul class="ui">
<li><a href="#" >首页</a></li>
<li><a href="#">登录</a></li>
<li><a href="#">注册</a></li>
<li><a href="#">服务大厅</a></li>
<li><a href="#">需求大厅</a></li>
</ul>

CSS:

    .ui{
width:700px;
height:50px;
list-style: none;
margin:;
padding:;
}
.ui li{
width:70px;
margin:0 10px;
float: left;/*该处换为display:inline-block;同样效果*/ } .ui li a{
width:70px;
height:50px;
padding:0 20px;
font-size: 12px;
line-height:50px;
background: red;
display: inline-block;
}

显示结果:

但是在有些情况下需要列表以两列的形式分开并列一行,

此时,可以有以下两种方式来布局:

方法一:

当设置li的属性为:display:inline-block时:

 <!DOCTYPE html>
<html>
<head>
<title></title>
<style type="text/css">
.ui{
width:700px;
height:50px;
list-style: none;
margin:0;
padding:0;
}
.ui li{
width:70px;
display: inline-block;
margin:0 10px;
} .ui li a{
width:70px;
height:50px;
padding:0 20px;
font-size: 12px;
line-height:50px;
background: red;
display: inline-block;
}
.right{
float: right;
width:70px;
} </style>
</head>
<body>
<ul class="ui">
<li><a href="#" >首页</a></li>
<li><a href="#">登录</a></li>
<li><a href="#">注册</a></li>
<li class="right"><a href="#">服务大厅</a></li>
<li class="right"><a href="#">需求大厅</a></li>
</ul>
</body>
</html>

方法二:

利用id增加权重使想要浮动在右边的li有float:right属性;

 <!DOCTYPE html>
<html>
<head>
<title></title>
<style type="text/css">
.ui{
width:700px;
height:50px;
list-style: none;
margin:0;
padding:0;
}
.ui li{
width:70px;
display: inline-block;
margin:0 10px;
} .ui li a{
width:70px;
height:50px;
padding:0 20px;
font-size: 12px;
line-height:50px;
background: red;
display: inline-block;
}
#rr,#re{
float: right;
} </style>
</head>
<body>
<ul class="ui">
<li><a href="#" >首页</a></li>
<li><a href="#">登录</a></li>
<li><a href="#">注册</a></li>
<li id="rr"><a href="#">服务大厅</a></li>
<li id="re"><a href="#">需求大厅</a></li>
</ul>
</body>
</html>

最后,需要注意的是,在浮动的时候,最后的结果与正常部分两列的情况下的顺序有所不同,例如

上面的结果正常是:“首页”到“需求大厅”依次排列,但是在浮动之后却变成了“服务大厅”是最后一

个,是因为在“服务大厅”右浮动时,它已经将区域最右侧占据,当下一个元素“需求大厅”再右浮动时,

由于最右侧已经被签一个占据,所以它只有在签一个元素的左侧,因此,顺序会是倒序的。就是说如

果用left对ABCDE排列,那么用right之后结果就会变成:EDCBA。

二、在固定宽度下有间隔的排列

在外围区域宽度固定的情况下,要想使ul中的li内容有一定间隔的横向排列,只要不设置在x方向上

的overflow:hidden;而整个ul为:margin-right:-12px(12随内容而定),如下:

HTML中:

 <div class="grid">
<div class="ui-relative">
<ul class="ui-ul">
<li>
<div class="pic"><a href="#"><img src=" http://p6.zbjimg.com//user_avat_new/007/16/31/200x200_avatar_10.jpg"></a></div>
<h3>
<a href="#" class="tit">猪八戒</a>
</h3>
<div class="txt">TA 出售的服务(好评率99.51%)</div>
</li>
<li>
<div class="pic"><a href="#"><img src=" http://p6.zbjimg.com//user_avat_new/007/16/31/200x200_avatar_10.jpg"></a></div>
<h3>
<a href="#" class="tit">猪八戒</a>
</h3>
<div class="txt">TA 出售的服务(好评率99.51%)</div>
</li>
<li>
<div class="pic"><a href="#"><img src=" http://p6.zbjimg.com//user_avat_new/007/16/31/200x200_avatar_10.jpg"></a></div>
<h3>
<a href="#" class="tit">猪八戒</a>
</h3>
<div class="txt">TA 出售的服务(好评率99.51%)</div>
</li>
</ul>
</div>
</div>

CSS:

   .grid{
width:1100px;
margin:0 auto;
}
.ui-ul{
height:auto;
overflow-y: hidden;;
list-style: none;
margin-right:-15px;
margin-left:0;
padding:0;
}
.ui-ul li{
width:320px;
height:120px;
padding:15px;
float: left;
border:1px solid #ccc;
margin-right:15px;
}
.pic{
width:120px;
height:120px;
margin-right:10px;
float: left;
}
.pic img{
width:120px;
height:120px;
}
.txt{
font-size: 12px;
} .ui-relative{
position: relative;
}

结果为:

无序列表li横向排列的更多相关文章

  1. 无序列表li横向排列的间隙问题

    今天在写页面的时候,无意中遇到这样一个问题,就是无序列表li横向排列即做成导航栏时,列表项间有间隙. 如: 将列表项li变成列表块后(即将li标签设置为,display:inline-block后), ...

  2. ul li横向排列及圆点处理

    如何用CSS制作横向菜单 让ul li横向排列及圆点处理   第一步:建立一个无序列表 我们先建立一个无序列表,来建立菜单的结构.代码是:<ul> <li><a href ...

  3. CSS + ul li 横向排列的两种方法

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  4. css ul li 横向排列

    因为li是块级元素,默认占一行的,要想实现横向排列,一般通过以下两个方法:float:left这样设置有一个问题,li浮动以后则脱离了文本流,即不占位置,如果它的父级元素有具体的样式且没有固定宽高,建 ...

  5. CSS中如何将li横向排列

    直接贴段例子代码吧: @{ Layout = null;} <!DOCTYPE html><style type="text/css"> .test li ...

  6. android中RecyclerView控件的列表项横向排列

    本文是在上一篇文章的基础上做的修改:android中RecyclerView控件的使用 1.修改列表项news_item.xml:我这里是把新闻标题挪到了新闻图片的下面显示 <?xml vers ...

  7. 解决ul的li横向排列换行的问题

    1. 问题现象 先看下面的html结构: <div> <ul> <li><img src='./img/1.jpg'></li> <l ...

  8. 菜单制作:ul li横向排列

    CSS菜单制作 <!DOCTYPE html> <html lang="en"> <head> <meta charset="U ...

  9. 我教女朋友学编程html系列(7)—Html无序列表、自定义列表、有序列表及常用例子

    昨天写的那篇文章<我教女朋友学编程Html系列(6)—Html常用表单控件>,基本上有1000人左右看了,那边文章是我站在前人的肩膀上修改来的,添加了截图和说明,合并了例子,使之更容易被初 ...

随机推荐

  1. python3开发进阶-Django框架起飞前的准备

    阅读目录 安装 创建项目 运行 文件配置的说明 三个组件 一.安装(安装最新LTS版) Django官网下载页面 根据官方的图版本,我们下载1.11版本的,最好用! 有两种下载方式一种直接cmd里: ...

  2. Problem A: 调用函数,求三个数中最大数

    #include<stdio.h> int max(int a,int b,int c); int main() { int a,b,c; while(scanf("%d %d ...

  3. URL 和URI的区别

    1.统一资源标志符URI就是在某一规则下能把一个资源独一无二地标识出来. URL:(Uniform/Universal Resource Locator 的缩写,统一资源定位符). URI:(Unif ...

  4. iOS开发技巧——Autolayout动画

          使用Autolayout时需要在动画的代码前面后面添加 layoutIfNeeded方法 Animation AutoLayout也可以配合传统的animation方法,整体代码结构如下. ...

  5. hdu4565之矩阵快速幂

    So Easy! Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total S ...

  6. javascript模块化有什么意义?

    以前,所有的javascript都写在一个文件里,方便只加载一个文件就可以了,但是代码越来越多,必须分成多个文件加载,类似: <script src="1.js">&l ...

  7. Bootstrap幻灯片

    Bootstrap幻灯片的制作利用到了Carousel插件,包含:左右箭头.图片.点点导航 <div id="carousel-example-generic" class= ...

  8. Remote procedure call (RPC)

    Remote procedure call (RPC) (using the .NET client) Prerequisites This tutorial assumes RabbitMQ isi ...

  9. C#远程获取图片文件流的方法【很通用】

    因为之前写的代码,也能获取到图片流信息,但是会是凌乱的线条,后百度得这个方法,必须记录一下 C# try { WebRequest myrequest = WebRequest.Create(Http ...

  10. ajax回调中window.open弹出的窗口会被浏览器拦截的解决方法

    存在问题:处理页面ajax请求过程中,异步请求成功后需要新开窗口打开 url,使用的是 window.open() 方法 来实现,最终都被浏览器拦截了.不会跳到对应的页面,如下 原因:浏览器之所以拦截 ...