Search code examples
cssinputradio-buttonalignment

text wrapping incorrectly for radio button


I have 2 html radio buttons (separated by <br /> tags) where the text is wrapping under the radio button instead of aligning with the left indent (due to the size it's containing div). The text wrapping is not the problem, the problem is that it is wrapping incorrectly under the radio button itself, instead of aligning with text in the line above it. I'm supposing someone styled the input tag somewhere in the cascade. I haven't done an exhaustive search of all the styles attached to this page, but shouldnt the text just automatically wrap correctly, like a bullet list?
enter image description here

And if not, how would i go about fixing this? Do i need to insert a <br /> tag where I want the lines to break so they will be properly aligned?

Thanks!


Solution

  • First of all, the use of a <br /> is generally not recommended, it's a lot better to try and use the margin CSS property to create space between elements.

    It's also best in this situation to use CSS to do what you want to do. This is because by default those elements won't have this kind of behaviour.

    In this case you would want something that looks like this:

    <div style="width:300px">
        <input type="radio" class="radioLeft" />
        <div class="textBlock">
            Some text that is too long to fit inline and must be broken 
            up over multiple   lines.Some text that is too long to fit inline 
            and must be broken up over multiple lines.Some text that is too 
            long to fit inline and must be broken up over multiple lines.
        </div>
        <div style="clear:both;"></div> //this is important for repeated inputs
    </div>
    

    And then your CSS would look like this:

    .radioLeft
    {
       float: left;
    }
    
    .textBlock
    {
        float: left;
        width: 80%; //Adjust this value to fit
    }