How can I control the width of a label tag?

HtmlCssLabel

Html Problem Overview


The label tag doesn't have the property 'width', so how should I control the width of a label tag?

Html Solutions


Solution 1 - Html

Using CSS, of course...

label { display: block; width: 100px; }

The width attribute is deprecated, and CSS should always be used to control these kinds of presentational styles.

Solution 2 - Html

Using the inline-block is better because it doesn't force the remaining elements and/or controls to be drawn in a new line.

label {
  width:200px;
  display: inline-block;
}

Solution 3 - Html

Inline elements (like SPAN, LABEL, etc.) are displayed so that their height and width are calculated by the browser based on their content. If you want to control height and width you have to change those elements' blocks.

display: block; makes the element displayed as a solid block (like DIV tags) which means that there is a line break after the element (it's not inline). Although you can use display: inline-block to fix the issue of line break, this solution does not work in IE6 because IE6 doesn't recognize inline-block. If you want it to be cross-browser compatible then look at this article: http://webjazz.blogspot.com/2008/01/getting-inline-block-working-across.html

Solution 4 - Html

Giving width to Label is not a proper way. you should take one div or table structure to manage this. but still if you don't want to change your whole code then you can use following code.

label {
  width:200px;
  float: left;
}

Solution 5 - Html

You can definitely try this way

.col-form-label{
  display: inline-block;
  width:200px;}

Solution 6 - Html

label {
  width:200px;
  display: inline-block;
}

OR 

label {
  width:200px;
  display: inline-flex;
}

OR 

label {
  width:200px;
  display: inline-table;
}

Solution 7 - Html

You can either give class name to all label so that all can have same width :

 .class-name {  width:200px;}

Example

.labelname{  width:200px;}

or you can simple give rest of label

label {  width:200px;  display: inline-block;}

Solution 8 - Html

<style type="text/css">
    .princip{
        height: 190px ;
        width:190px ;
        border:  solid;
    }
    label{
        height: 190px !important;
        width:190px  !important;
        border:  solid;
        display: block;
    }
 </style>

    <div class="princip"  id="princip">
    
    
    <input id="rad1" type="radio" name="rad"/>
    
    <label class="lbl" id="lbl" for="rad1">
    
        <h1>fdgb</h1>
    <h2>sdfs</h2>
    </label>
    
    </div>

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionziiwebView Question on Stackoverflow
Solution 1 - HtmlJosh StodolaView Answer on Stackoverflow
Solution 2 - HtmlMA9HView Answer on Stackoverflow
Solution 3 - HtmlSrkaView Answer on Stackoverflow
Solution 4 - HtmlYaxita ShahView Answer on Stackoverflow
Solution 5 - HtmlAkarsh SrivastavaView Answer on Stackoverflow
Solution 6 - HtmlshinyView Answer on Stackoverflow
Solution 7 - HtmlAjinkyaView Answer on Stackoverflow
Solution 8 - Htmlghiles ybeggazeneView Answer on Stackoverflow