zoukankan      html  css  js  c++  java
  • css3 -- 自动生成序号(不使用JS,可任意排序)

    需求:一个table 需要在第一列生成序号:1、2、3、4、5......  并且自适应行数

    不使用后台程序,开始考虑使用JS,但是一旦前台排序后,序号就乱了,
    最后采用CSS的一个计数器方法实现!

    <!DOCTYPE html>
    <html>
    <head>
    <style>
    /*couter-reset:创建或重置一个或多个计数器*/ body {counter-reset:section;} h1 {counter-reset:subsection;}
    /*伪元素:before :在每个h1内容之中的第一个之前执行*/ h1:before { counter-increment:section;  /* counter-increment:递增一个或多个计数器值*/ content:"Section " counter(section) ". ";  /* content 属性与 :before 及 :after 伪元素配合使用,来插入生成内容 */ } h2:before { counter-increment:subsection; content:counter(section) "." counter(subsection) " "; } </style> </head> <body> <p><b>Note:</b> IE8 supports these properties only if a !DOCTYPE is specified.</p> <h1>HTML tutorials</h1> <h2>HTML Tutorial</h2> <h2>XHTML Tutorial</h2> <h2>CSS Tutorial</h2> <h1>Scripting tutorials</h1> <h2>JavaScript</h2> <h2>VBScript</h2> <h1>XML tutorials</h1> <h2>XML</h2> <h2>XSL</h2> </body> </html>

    简单介绍上例中使用的属性

    1、伪元素:before 选择器,向选定的元素前插入内容。使用 content 属性来指定要插入的内容。

    <!DOCTYPE html>
    <html>
    <head>
    <style>
    p:before
    {
    content:"Read this -";
    }
    </style>
    </head>
    
    <body>
    <p>My name is Donald</p>
    <p>I live in Ducksburg</p>
    
    <p><b>Note:</b> For :before to work in IE8, a DOCTYPE must be declared.</p>
    
    </body>
    </html>
                

    效果:

    Read this -My name is Donald
    Read this -I live in Ducksburg
    Read this -Note: For :before to work in IE8, a DOCTYPE must be declared.

    2、:after 选择器向选定的元素之后插入内容。使用 content 属性来指定要插入的内容。

    <!DOCTYPE html>
    <html>
    <head>
    <style>
    p:after
    { 
    content:"- 注意我";
    }
    </style>
    </head>
    
    <body>
    <p>我的名字是 Donald</p>
    <p>我住在 Ducksburg</p>
    
    <p><b>注意:</b> :after在IE8中运行,必须声明<!DOCTYPE> </p>
    
    </body>
    </html>

    效果:

    我的名字是 Donald- 注意我
    我住在 Ducksburg- 注意我
    注意: :after在IE8中运行,必须声明 - 注意我

    3、counter-reset:创建或重置一个或多个计数器,通常是和counter-increment属性,content属性一起使用

    4、counter-increment:递增一个或多个计数器值,通常用于counter-reset属性和content属性。

    5、content 属性与 :before 及 :after 伪元素配合使用,来插入生成内容。

    <!DOCTYPE html>
    <html>
    <head>
    <style>
    body {counter-reset:section;}
    h1 {counter-reset:subsection;}
    h1:before
    {
    counter-increment:section;
    content:"Section " counter(section) ". ";
    }
    h2:before 
    {
    counter-increment:subsection;
    content:counter(section) "." counter(subsection) " ";
    }
    </style>
    </head>
    
    <body>
    
    <p><b>Note:</b> IE8 supports these properties only if a !DOCTYPE is specified.</p>
    
    <h1>HTML tutorials</h1>
    <h2>HTML Tutorial</h2>
    <h2>XHTML Tutorial</h2>
    <h2>CSS Tutorial</h2>
    
    <h1>Scripting tutorials</h1>
    <h2>JavaScript</h2>
    <h2>VBScript</h2>
    
    <h1>XML tutorials</h1>
    <h2>XML</h2>
    <h2>XSL</h2>
    
    </body>
    </html>

    效果:

  • 相关阅读:
    Python格式化输出
    Python的变量和注释
    python解包
    顺序存储结构和链式存储结构优缺点
    CPU相关概念
    转载:关于STM32硬件I2C读写EEPROM代码实现原理的理解与总结
    ADC
    I2C协议学习笔记
    飞思卡尔K60时钟分析
    NXP_RTCESL库
  • 原文地址:https://www.cnblogs.com/hf8051/p/5109184.html
Copyright © 2011-2022 走看看