css – 全宽水平导航栏,均匀间隔的物品

前端之家收集整理的这篇文章主要介绍了css – 全宽水平导航栏,均匀间隔的物品前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
初始点:

starting point http://img12.imageshack.us/img12/3100/example1a.gif

终点:

end point http://img846.imageshack.us/img846/799/example2w.gif

我想要一个水平的导航栏,填充100%的容器.在第一个例子中,您会看到所有的项目与左边对齐.我试图让它填充容器的整个宽度,如第二个例子所示.我想要所有的项目之间的间距是统一的(不像显示的方式,我只是把它放在一起快速给你一个想法我想做什么).我需要的文字不是一个图像,它所进入的容器是流体不固定的.

解决方法

使用静态数量的元素很容易 – http://jsfiddle.net/X56cJ/

但是,如果要在文本之间具有均匀的间距,而不是元素本身,那就变得棘手.再次,如果元素的数量没有改变,你可以用css类和静态宽度来实现.否则它必须是javascript

编辑:这是在元素之间获得相同空间的JavaScript方式.

HTML:

<ul class="menu">
    <li>About Us</li>
    <li>Our Products</li>
    <li>FAQs</li>
    <li>Contact</li>
    <li>Login</li>
</ul>

JS:

function alignMenuItems(){
    var totEltWidth = 0;
    var menuWidth = $('ul.menu')[0].offsetWidth;
    var availableWidth = 0;
    var space = 0;

    var elts = $('.menu li');
    elts.each(function(inx,elt) {
        // reset paddding to 0 to get correct offsetwidth
        $(elt).css('padding-left','0px');
        $(elt).css('padding-right','0px');

        totEltWidth += elt.offsetWidth;
    });

    availableWidth = menuWidth - totEltWidth;

    space = availableWidth/(elts.length);

    elts.each(function(inx,elt) {
        $(elt).css('padding-left',(space/2) + 'px');
        $(elt).css('padding-right',(space/2) + 'px');
    });
}

全文here

原文链接:https://www.f2er.com/css/214214.html

猜你在找的CSS相关文章