Wednesday, February 9, 2011

How do you right-justify text in an HTML textbox?

I have a need to display many numerical values in columns. These values need to be easily editable so I cannot just display them in a table. I am using textboxes to display them. Is there a way for me to right-justify the text displayed in a textbox? It would also be nice if when the user is entering data for it to start displaying what they type from the right.

  • Did you try setting the style:

    input {
        text-align:right;
    }
    

    Just tested, this works fine (in FF3 at least):

    <html>
        <head>
         <title>Blah</title>
         <style type="text/css">
         input { text-align:right; }
         </style>
        </head>
        <body>
         <input type="text" value="2">
        </body>
    </html>
    

    You'll probably want to throw a class on these inputs, and use that class as the selector. I would shy away from "rightAligned" or something like that. In a class name, you want to describe what the element's function is, not how it should be rendered. "numeric" might be good, or perhaps the business function of the text boxes.

    Haabda : You anticipated my next question! Thanks very much for your assistance.
  • Using inline styles:

    <input type="text" style="text-align: right"/>
    

    or, put it in a style sheet, like so:

    <style>
       .rightJustified {
            text-align: right;
        }
    </style>
    

    and reference the class:

    <input type="text" class="rightJustified"/>
    
  • Apply style="text-align: right" to the input tag. This will allow entry to be right-justified, and (at least in Firefox 3, IE 7 and Safari) will even appear to flow from the right.

    From John Rudy

0 comments:

Post a Comment