2016-12-10 9 views
5

मुझे लगता है कि एक उदाहरण के साथ व्याख्या करना सबसे आसान है।जब नई लाइन पर विभाजक को छुपाएं?

word one, word two, word three, word four, word five, word six 

उपयोगकर्ता एक छोटी सी स्क्रीन रिज़ॉल्यूशन है, सूची में ऊपर इस तरह लपेटकर खत्म हो सकता है:

word one, word two, word three, word four, word five, 
word six 

आप के रूप में

चलो कहते हैं कि मैं इस तरह एक वेब पेज पर एक सूची है चलो देख सकते हैं, पहली पंक्ति के अंत में एक अल्पविराम है। मैं इसे बदलना चाहता हूं इसलिए अगर ऐसा कुछ होता है, तो कॉमा छुपा रहता है। इसका मतलब है कि यह इस तरह दिखेगा:

word one, word two, word three, word four, word five 
word six 

क्या सीएसएस या जावास्क्रिप्ट के साथ ऐसा करने का कोई तरीका है?

आपकी मदद के लिए धन्यवाद।

उत्तर

10

हां। बस उन्हें नकारात्मक मार्जिन के साथ बहने दें, और ओवरफ्लो छुपाएं।

div { 
 
    border: 1px solid; 
 
    overflow: hidden; 
 
    animation: size 5s linear infinite alternate; 
 
} 
 
span { 
 
    display: inline-block; 
 
    margin-right: 10px; 
 
} 
 
span::before { 
 
    content: ','; 
 
    display: inline-block; 
 
    width: 10px; 
 
    margin-left: -10px; 
 
} 
 
@keyframes size { 
 
    from { width: 750px; } 
 
    to { width: 0; } 
 
}
<div> 
 
    <span>word one</span> 
 
    <span>word two</span> 
 
    <span>word three</span> 
 
    <span>word four</span> 
 
    <span>word five</span> 
 
    <span>word six</span> 
 
</div>

+0

यह शानदार है! +1 – sol

+0

+1 आप अपने 'span :: before' पर नकारात्मक बाएं मार्जिन लागू करके प्रत्येक शब्द और लगातार कॉमा के बीच उस स्थान को ठीक कर सकते हैं। – gyre

+0

@gyre हां, लेकिन मार्जिन की सटीक मात्रा भिन्न हो सकती है। यह है [इनलाइन-ब्लॉक तत्वों के बीच की जगह को कैसे हटाया जाए?] (Http://stackoverflow.com/q/5078239/1529630) समस्या। – Oriol

संबंधित मुद्दे