美文网首页程序员
CSS横排ul和ol

CSS横排ul和ol

作者: zhyuzh3d | 来源:发表于2020-08-02 14:51 被阅读0次

在Html开发中,如何实现有序列表ol和无序列表ul的横向排列?保留索引序号或圆点,以及更多。

display:inline

这个可以实现不换行排列,比如下面的代码和实现的无序列表横排效果。

<body>
    <ul>
        <li>竖排列表</li>
        <li>竖排列表</li>
    </ul>
    <ul>
        <li style="display:inline">横排列表</li>
        <li style="display:inline">横排列表</li>
    </ul>
</body>
image

但这里的问题是,横排之后前面的索引小圆点没有了。

li:before

我们知道,对于无序列表ul,前面的小圆点可以用list-style-type:square或者list-style-image:url来改变,但变为横向列表之后,这个方法就无效了。

不过我们可以手工模拟,使用ul li:before{content:'◆ '}就是在无序列表内每个<li>的开始添加一个小菱形。这里可以使用任意的特殊符号作为索引图形,可用的特殊符号很多,可以网上搜索到,直接复制过来。

代码和效果如下。

<body>
    <style>
        #h-ul li::before {
            content: '😆  ';
        }
    </style>
    <ul id='h-ul' style="padding-left: 0;">
        <li style="display:inline">横排列表</li>
        <li style="display:inline">横排列表</li>
    </ul>
</body>
image

这里我们使用了emoji表情文字,它和特殊符号一样可以搜索到然后复制替换。这里并没有改变所有无序列表,而是限定了只改变带有属性id='h-ul'的。

ol的序号

对于有序列表,CSS语法无法自动生成1234…序号,我们只能使用JavaScript来实现。代码和效果如下。

<body>
    <ol style="padding-left: 0;">
        <li class="h-ol-li" style="display:inline;">横排列表</li>
        <li class="h-ol-li" style="display:inline;">横排列表</li>
    </ol>
    <script>
        Array.from(document.getElementsByClassName('h-ol-li')).map((item, n) => {
            item.innerHTML = n + 1 + '. ' + item.innerHTML
        }) 
    </script>
</body>
image

这里使用了getElementsByClassName获取了一个HTMLCollection对象,然后把它转化成Array,使用map方法对每个item进行修改,在开头添加数字。

自定义序号

使用下面的代码可以实现更自由的有序列表序号设定。

<body>
    <ol style="padding-left: 0;">
        <li class="h-ol-li" style="display:inline;">横排列表</li>
        <li class="h-ol-li" style="display:inline;">横排列表</li>
    </ol>
    <script>
        tags = ['一', '二', '三'] //有序列表数量不能超过这个数字
        dot = '、 '
        Array.from(document.getElementsByClassName('h-ol-li')).map((item, n) => {
            item.innerHTML = tags[n] + dot + item.innerHTML
        }) 
    </script>
</body>
image

欢迎访问我的个人站点,获取最新文章和更多资源

专辑站点传送门
10knet.com全部专辑传送门

image

相关文章

  • CSS横排ul和ol

    在Html开发中,如何实现有序列表ol和无序列表ul的横向排列?保留索引序号或圆点,以及更多。 display:i...

  • web前端开发基础班课堂笔记第二天

    1、无序列表ul ul中只能包含liul属性type有多种效果,样式CSS效果更好 1.1、有序列表ol ol中只...

  • CSS 中的行级元素和块级元素

    CSS 中的行级元素,和块级元素。 常见块级元素:div p form ul ol li 等; ...

  • 初始化CSS样式

    @charset "UTF-8";/css 初始化 /html, body, ul, li, ol, dl, dd...

  • CSS 和HTML注意事项

    目录 HTML常用标签 CSS使用规范 HTML常用标签 /可以单独或者配合ul ol标签使用/ CSS使用规范...

  • css

    css cascading style sheet 层叠样式表 我们在html里写了些简单标签p、ul、ol、a等...

  • css默认样式

    reset.css: body, div, dl, dt, dd, ul, ol, li, h1, h2, h3,...

  • ol -ul

    本质区别: ol:有序列表 ul:无序列表 用法: ol和ul的用法是一样的,都是外层标签内套li标签。如下: 效...

  • HTML第二小节

    一、列表标签 1、无序列表:ul--li 2、有序列表:ol--li 备注:ul和ol中间不能嵌套标签,li中间可...

  • 左侧导航栏可以使用2020-08-31

    base.css /(1)清除默认样式/ html,body,ul,li,ol,dl,dd,dt,p,h1,h2,...

网友评论

    本文标题:CSS横排ul和ol

    本文链接:https://www.haomeiwen.com/subject/kyvprktx.html