问题
I have an ordered list and I'd like to skip the number output from a particular item.
Traditional output:
1. List item
2. List item
3. List item
4. List item
5. List item
Desired output:
1. List item
2. List item
Skipped list item
3. List item
4. List item
5. List item
Is this achievable in CSS? I discovered an <ol> "start" attribute that I didn't know about before, but doesn't seem to help me.
回答1:
Another option is to use CSS3 counters: demo
HTML
<ul>
<li>One</li>
<li>Two</li>
<li class="skip">Skip</li>
<li>Three</li>
<li>Four</li>
</ul>
CSS
ul {
counter-reset:yourCounter;
}
ul li:not(.skip) {
counter-increment:yourCounter;
list-style:none;
}
ul li:not(.skip):before {
content:counter(yourCounter) ".";
}
ul li.skip:before {
content:"\a0\a0\a0"; /* some white-space... optional */
}
回答2:
The simplest way is to remove the list marker from the item to be skipped and set the number of the next item using the value attribute (which will not be deprecated/obsolete in HTML5). Example:
<ol>
<li>List item
<li>List item
<li style="list-style-type: none">List item
<li value=3>List item
<li>List item
</ol>
回答3:
It's quite simple now.
Just add the following to a class .skip with .skip being used for the skipped list-item:
ol li.skip {
list-style-type:none;
counter-increment:none;
}
in HTML it would be:
<ol>
<li>first list item</li>
<li class="skip">2nd list item</li>
<li>third list item</li>
</ol>
resulting in:
- first list item
2nd list item - third list item
回答4:
This is my solution (only with CSS) that allow you to keep the normal usage of an li (list-item) from an ol (ordered list). That means all li
item are consitent and there are no item that not represent the same thing as its neighbour.
Code just below :
.term-and-condition li {
position: relative;
}
.term-and-condition ol ol {
list-style-type: lower-latin;
}
.term-and-condition h2 {
position: absolute;
top: -2.4em;
left: -1.5em;
}
.term-and-condition h3 {
position: absolute;
top: -2.4em;
left: -1.5em;
}
.term-and-condition h2 + *,
.term-and-condition h3 + * {
margin-top: 4em;
}
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Skip ordered list item numbering</title>
</head>
<body>
<article class="term-and-condition">
<h1>Participants agree to be bound by these Terms and Conditions</h1>
<ol>
<li>
<h2>The Promoter</h2>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Veritatis dolorum consequuntur, qui cupiditate fugit quo ipsa hic, in amet libero magnam consectetur facere, accusantium sed, adipisci aliquam unde! Sit, iure.</p>
</li>
<li><p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Veritatis dolorum consequuntur, qui cupiditate fugit quo ipsa hic, in amet libero magnam consectetur facere, accusantium sed, adipisci aliquam unde! Sit, iure.</p></li>
<li>
<h2>Eligibility</h2>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Veritatis dolorum consequuntur, qui cupiditate fugit quo ipsa hic, in amet libero magnam consectetur facere, accusantium sed, adipisci aliquam unde! Sit, iure.</p>
</li>
<li>
<h2>Entry</h2>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Veritatis dolorum consequuntur, qui cupiditate fugit quo ipsa hic, in amet libero magnam consectetur facere, accusantium sed, adipisci aliquam unde! Sit, iure.</p>
</li>
<li><p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Veritatis dolorum consequuntur, qui cupiditate fugit quo ipsa hic, in amet libero magnam consectetur facere, accusantium sed, adipisci aliquam unde! Sit, iure.Lorem ipsum dolor sit amet, consectetur adipisicing elit. Veritatis dolorum consequuntur, qui cupiditate fugit quo ipsa hic, in amet libero magnam consectetur facere, accusantium sed, adipisci aliquam unde! Sit, iure.</p></li>
<li><p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Veritatis dolorum consequuntur, qui cupiditate fugit quo ipsa hic, in amet libero magnam consectetur facere, accusantium sed, adipisci aliquam unde! Sit, iure.</p> </li>
<li>
<p>Entrants must upload an image and text that:</p>
<ol>
<li><p>Lorem ipsum dolor sit amet, qui cupiditate fugit quo ipsa hic, in amet libero magnam consectetur facere</p></li>
<li><p>consectetur adipisicing elit. Veritatis dolorum consequuntur,</p></li>
<li><p>in amet libero magnam consectetur facere,</p></li>
<li><p>accusantium sed, adipisci aliquam unde! Sit, iure.</p></li>
<li>
<h3>Additional requirements</h3>
<p>All entries must be the participant’s own image or have the relevant permission</p>
</li>
<li><p>The entrant must be the lorem</p></li>
</ol>
</li>
<li>
<h2>Winner Selection</h2>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Suscipit tenetur minus dolores! Natus harum pariatur voluptas, voluptatibus magnam, animi explicabo eos laudantium delectus nobis repellat dicta eveniet, et blanditiis ducimus!</p>
</li>
</ol>
</article>
</body>
</html>
— See the Codepen
回答5:
One thing I tried that seemed to work was just adding a font-size: 0. This could be applied to the aforementioned "skip" class.
Admittedly, this solution lacks some HTML purity, but is quite simple.
来源:https://stackoverflow.com/questions/12858130/skip-ordered-list-item-numbering