Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 7506505
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 29, 20262026-05-29T22:18:02+00:00 2026-05-29T22:18:02+00:00

I have a table with two columns, like this: Firstname: Jeff Where the first

  • 0

I have a table with two columns, like this:

Firstname: Jeff

Where the first column is a label and the second one is an input. Now I’m setting the width of the label at 180px, but if there I have larger text (one word larger than 180px), it’s not showed completely.

I’ve tried to set in css the width of the labels as ‘auto’, but I don’t want different widths of labels in the same column.

The result shall look like this:

Firstname:    Jeff
Enciclopedia: Yes
Town:         Tokyo

How can I resolve this with Css?

Thanks a lot,

Jeff

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-29T22:18:02+00:00Added an answer on May 29, 2026 at 10:18 pm

    You have to wrap each label-input combination in a element, and then wrap that element in some container. This container should have a min-width, and display: inline-block;.
    Then you let all the input items float to the right, and you’re done.

    This results in a very simple, clean and semantic markup with eqaully clean and maintainable CSS, and no requirements for JavaScript, jQuery, or other fancy stuff.

    You could make something like:

     <form>
         <fieldset>
             <p><label for="lorem">lorem</label><input type="text" id="lorem" /></p>
             <p><label for="ipsum">ipsum</label><input type="text" id="ipsum" /></p>
             <p><label for="li">li</label><input type="text" id="li" /></p>
         </fieldset>
     </form>
    

    with the css

     fieldset {
         min-width: 100px;
         display: inline-block;
     }
    
     fieldset input{
         float: right;
     }
    

    Here you can see how that looks.
    Clearly you can style your form with margins, paddings etc.

    And additionally if you want to have a wrapper that’s semantically more accurate, you can use a ordered list. You can then style everything like you want to, and have even a nice additional wrapper (the <ol>) that you can use without adding semantic garbage.

    A example would be:

     <form>
         <fieldset>
             <legend>First Example:</legend>
             <ol>
                 <li><label for="lorem">lorem</label><input type="text" id="lorem" /></li>
                 <li><label for="ipsum">ipsum</label><input type="password" id="ipsum" /></li>
                 <li><label for="li">li</label><input type="text" id="li" /></li>
             </ol>
         </fieldset>
    
         <fieldset>
             <legend>Second Example:</legend>
             <ol>
                 <li><label for="a">a</label><input type="text" id="a" /></li>
                 <li><label for="b">b</label><input type="number" id="b" /></li>
                 <li><label for="c">c</label><input type="range" id="c" /></li>
             </ol>
         </fieldset>
    
         <fieldset>
             <legend>Third Example:</legend>
             <ol>
                 <li><label for="XXXXXXXX">XXXXXXXX</label><input type="email" id="XXXXXXXX" /></li>
                 <li><label for="YYYYYYYYYYYY">YYYYYYYYYYYY</label><input type="search" id="YYYYYYYYYYYY" /></li>
                 <li><label for="z">z</label><input type="text" id="z" /></li>
             </ol>
         </fieldset>
     </form>
    

    styled by

      fieldset {
         border: 1px solid silver;
         margin: 10px;
         padding: 10px;
         min-width: 100px;
         display: inline-block;
     }
    
     fieldset li{
         width: 100%;
         display: block;
         position: relative;
     }
    
     fieldset label{
         margin-right: 10px;
         position: relative;
     }
    
     fieldset label:after{
         content: ": ";
         position: absolute;
         right: -0.2em;
     }
    
     fieldset input{
         float: right;
     }
    

    would result in this view. You can even play around with it on this fiddle: http://jsfiddle.net/ramsesoriginal/b6Taa/

    EDIT to show how this adds no markup

    With the following html:

     <form>
         <label for="lorem">lorem<input type="text" id="lorem" /></label>
         <label for="ipsum">ipsum<input type="text" id="ipsum" /></label>
         <label for="li">li<input type="text" id="li" /></label>
     </form>
    

    and the following CSS:

    form{
        min-width: 100px;
        display: inline-block;
    }
    
    form input{
        float: right;
    }
    
    form label{
        display:block;
        margin-bottom: 2px;
    }
    

    You get the effect that you want. You can play around with it here. But adding <fieldsets> with <legend>s isn’t adding unnecessary markup, on the contrary: it helps you to group the inputs. And adding a <ol> is semantically correct too, since the label/input combinations are semantic units and the form is a list of fields that have to be filled in a logical order.

    Again, you can avoid the fieldsets, the lists, and everything and still achieve the desired effect, but semantically it would make sense to have at least the fieldset with a label..

    EDIT2: this is how a “real” registration form with good semantic markup may look like:

     <form>
         <ol>
             <fieldset>
                 <legend>Account</legend>
                     <li><label for="username">Username</label><input type="text" id="username" required  /></li>
                     <li><label for="password">Password</label><input type="password" id="password" required  /></li>
             </fieldset>
    
             <fieldset>
                 <legend>Personal Data</legend>
                     <li><label for="name">Name</label><input type="text" id="name" /></li>
                     <li><label for="surname">Surname</label><input type="text" id="surname" /></li>
                     <li><label for="dob">Date of birth</label><input type="date" min="1900-01-01" max="2012-02-17" placeholder="YYYY-MM-DD" id="dob" /><span class="additionalInfo">Please input the date of birth in the following format: YYYY-MM-DD</span></li>
             </fieldset>
    
             <fieldset>
                 <legend>Contact Information</legend>
                     <li><label for="email">E-mail</label><input type="email" id="email" required placeholder="example@example.com" /></li>
                     <li><label for="tel">Telephone number</label><input type="tel" id="tel" placeholder="(555) 555-5555"
                  pattern="^\(?\d{3}\)?[-\s]\d{3}[-\s]\d{4}.*?$" /><span class="additionalInfo">Please input the telephone number in the following format: (555) 555-5555</span></li>
                     <li><label for="url">Website</label><input type="url" id ="url" placeholder="http://www.example.com"></li>
             </fieldset>
    
             <li><input type="submit" /></li>
         </ol>
     </form>
    

    and the styling:

     fieldset {
         border: 1px solid silver;
         margin: 10px;
         padding: 10px;
         min-width: 100px;
         display: inline-block;
     }
    
     fieldset li{
         width: 100%;
         display: block;
         position: relative;
         margin-bottom: 2px;
     }
    
     fieldset label{
         margin-right: 10px;
         position: relative;
     }
    
     fieldset label:after{
         content: ": ";
         position: absolute;
         right: -0.2em;
     }
    
     fieldset input{
         float: right;
     }
    
     fieldset li .additionalInfo{
         position: absolute;
         padding: 5px;
         margin-top: 5px;
         display: none;
         background-color: white;
         border: 1px solid black;
         -webkit-border-radius: 5px;
         -moz-border-radius: 5px;
         border-radius: 5px;
         -webkit-box-shadow: 5px 5px 5px 5px rgba(0, 0, 0, 0.5);
         -moz-box-shadow: 5px 5px 5px 5px rgba(0, 0, 0, 0.5);
         box-shadow: 5px 5px 5px 5px rgba(0, 0, 0, 0.5);
         z-index: 10;
     }
    
     fieldset li:hover .additionalInfo{
         display: block;
     }
    

    I included some additional info, to show you how it would all come together to one logical entity. Similarly you could include errors and whatever else you may want to include. This is just a quick example i threw together, but it’s should show that you can achieve interesting things with this technique. One thing I also changed was that I put the <ol> directly under the form, so you don’t have to repeat it for every fieldset. I personally find this somehow.. unpleasing, but since you want to have minimal markup, this would work pretty well and would be very accessible. Again, read this article if you haven’t. It provides some great insight in marking up correctly a form.

    Oh, and the “real-life” example is visible here: http://fiddle.jshell.net/ramsesoriginal/b6Taa/9/show/

    And you can play with it here:
    http://jsfiddle.net/ramsesoriginal/b6Taa/9/

    EDIT: i updated the last example

    There was an error in my code. The wrapper element (the <li>in the second and in the last example, the <label> in the minimal one and the <p> in the first one should have at least 1 pixel margin at the bottom, or else some browsers see the input fields as overlapping and won’t float them correctly. I updated the last example so that it works there, everywhere else you should keep this in mind.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have SP that selects data from a table with two columns like this
I have a table with two columns and one row, and 100% width across
I have a table with two columns: column A column B 1 2 1
Say I have an MSSQL table with two columns: an int ID column that's
I have a user table in my database which contains two columns FirstName and
In a database i have a table prospect and has two columns firstname and
I have a table in MSSQL, of which the two columns look like the
I have two columns like this. (TC_NO is 11 character, VER_NO is 10 character)
I have a table with two columns [id, value] both numeric. In this example:
We have a table with two columns: in each row there is a label

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.