Search code examples
htmlcsslayoutword-wrap

Can you apply CSS only on text that is wrapped, i.e. the second and subsequent lines?


I want to put a margin-left on only the text that is wrapped, i.e. text after the first line:

This is text with no margin left
     this text has margin left

Example

click to see

The input and the label are in 1 div and text is wrapped on the second line, which is what I want
but is it possible to have like a margin left on only the text that is wrapped on the second line

jsfiddle example of my problem


Solution

  • Yeah, sort of — I’d suggest combining padding-left and text-indent:

    .test {
        width:200px;
    }
    
    .test label {
        display: block;
        padding-left: 1em;
        text-indent: -1em;
    }
    <div class="test">
        <label for="2question1">
            <input type="checkbox" id="2question1" name="2question" title="Merknaam 1" /> Very long text which is wrapped on the next line
        </label><br>
    
        <label for="2question2">
            <input type="checkbox" id="2question2" name="2question" title="Merknaam 2" /> Merknaam 2
        </label><br>
    
        <label for="2question3">
            <input type="checkbox" id="2question3" name="2question" title="Merknaam 3" /> Merknaam 3
        </label><br>
    
        <label for="2question4">
            <input type="checkbox" id="2question4" name="2question" title="Merknaam 4" /> Merknaam 4
        </label><br>
    </div>

    text-indent applies only to the first line of text in a block-level element, so it should achieve what you want.

    See http://jsfiddle.net/pauldwaite/qUvvv/