การเพิ่มคำตอบอื่นสำหรับคำถามนี้เพราะฉันต้องการสิ่งที่ @derek ต้องการอย่างแม่นยำและฉันได้รับคำตอบเพิ่มเติมก่อนที่จะเห็นคำตอบที่นี่ โดยเฉพาะผมจำเป็นต้องมี CSS ที่อาจยังบัญชีสำหรับกรณีที่มีตรงสองรายการที่จุลภาคไม่ต้องการ ตัวอย่างเช่นบรรทัดการประพันธ์บางรายการที่ฉันต้องการสร้างจะมีลักษณะดังนี้:
ผู้เขียนคนหนึ่ง:
By Adam Smith.
ผู้เขียนสองคน:
By Adam Smith and Jane Doe.
ผู้เขียนสามคน:
By Adam Smith, Jane Doe, and Frank Underwood.
วิธีแก้ปัญหาที่ให้ไว้ที่นี่ใช้งานได้สำหรับผู้เขียน 1 คนและผู้แต่ง 3 คนขึ้นไป แต่ละเลยที่จะพิจารณากรณีของผู้เขียน 2 คนโดยที่รูปแบบ "Oxford Comma" (หรือที่เรียกว่าสไตล์ "Harvard Comma" ในบางส่วน) ไม่สามารถใช้ได้ - กล่าวคือไม่ควรมีเครื่องหมายจุลภาคก่อนการรวม
หลังจากช่วงบ่ายของการซ่อมแซมฉันได้พบกับสิ่งต่อไปนี้:
<html>
<head>
<style type="text/css">
.byline-list {
list-style: none;
padding: 0;
margin: 0;
}
.byline-list > li {
display: inline;
padding: 0;
margin: 0;
}
.byline-list > li::before {
content: ", ";
}
.byline-list > li:last-child::before {
content: ", and ";
}
.byline-list > li:first-child + li:last-child::before {
content: " and ";
}
.byline-list > li:first-child::before {
content: "By ";
}
.byline-list > li:last-child::after {
content: ".";
}
</style>
</head>
<body>
<ul class="byline-list">
<li>Adam Smith</li>
</ul>
<ul class="byline-list">
<li>Adam Smith</li><li>Jane Doe</li>
</ul>
<ul class="byline-list">
<li>Adam Smith</li><li>Jane Doe</li><li>Frank Underwood</li>
</ul>
</body>
</html>
มันจะแสดง bylines ตามที่ฉันได้ระบุไว้ข้างต้น
ในท้ายที่สุดฉันยังต้องกำจัดช่องว่างระหว่างli
องค์ประกอบเพื่อหลีกเลี่ยงความรำคาญ: คุณสมบัติอินไลน์บล็อกจะเว้นช่องว่างไว้ก่อนแต่ละลูกน้ำ อาจมีแฮ็กทางเลือกที่ดีสำหรับมัน แต่นั่นไม่ใช่ประเด็นของคำถามนี้ดังนั้นฉันจะปล่อยให้คนอื่นตอบ
ซอที่นี่: http://jsfiddle.net/5REP2/