मान लें कि मेरे पास यह HTML है:
<h3>Features</h3>
<ul>
<li><img src="alphaball.png">Smells Good</li>
<li><img src="alphaball.png">Tastes Great</li>
<li><img src="alphaball.png">Delicious</li>
<li><img src="alphaball.png">Wholesome</li>
<li><img src="alphaball.png">Eats Children</li>
<li><img src="alphaball.png">Yo' Mama</li>
</ul>
और यह सीएसएस:
li { text-align:center; display:inline-block; padding:0.1em 1em }
img { width:64px; display:block; margin:0 auto }
परिणाम यहाँ देखा जा सकता है: http://jsfiddle.net/YMN7U/1/
अब कल्पना कीजिए कि मैं इसे तीन कॉलम में तोड़ना चाहता हूं, <br>तीसरे के बाद इंजेक्शन लगाने के बराबर <li>। (वास्तव में ऐसा करना शब्दार्थ और वाक्यविन्यास रूप से अमान्य होगा।)
मुझे पता है कि <li>सीएसएस में तीसरे का चयन कैसे करें , लेकिन मैं इसके बाद एक लाइन ब्रेक को कैसे मजबूर करूं? यह काम नहीं करता:
li:nth-child(4):after { content:"xxx"; display:block }
मुझे यह भी पता है कि यह विशेष मामला floatइसके बजाय का उपयोग करके संभव है inline-block, लेकिन मैं उपयोग करने वाले समाधानों में दिलचस्पी नहीं रखता हूं float। मुझे यह भी पता है कि निश्चित-चौड़ाई वाले ब्लॉक के साथ यह माता-पिता की चौड़ाई को ulउस चौड़ाई से लगभग 3x गुणा करके संभव है ; मुझे इस समाधान में कोई दिलचस्पी नहीं है। मुझे यह भी पता है कि मैं उपयोग कर सकता display:table-cellथा अगर मुझे असली कॉलम चाहिए था; मुझे इस समाधान में कोई दिलचस्पी नहीं है। मैं इनलाइन सामग्री के अंदर एक विराम को मजबूर करने की संभावना में रुचि रखता हूं।
संपादित करें : स्पष्ट होने के लिए, मुझे 'सिद्धांत' में दिलचस्पी है, किसी विशेष समस्या का समाधान नहीं। क्या सीएसएस display:inline(-block)?तत्वों के बीच में एक लाइन ब्रेक इंजेक्ट कर सकता है , या यह असंभव है? यदि आप निश्चित हैं कि यह असंभव है, तो यह स्वीकार्य उत्तर है।