?
Solved

How do I vertically align a label, input control and button across different divs in HTM5 and CSS3?

Posted on 2013-02-01
2
Medium Priority
?
388 Views
Last Modified: 2013-02-05
Hi:

I'm alignment issues with some controls in HTML5.

Consider the following HTML5 block:
---------------------------------------------------

<form action="#" method="post">
    <div class="divInput">
        <label for="something">Sample Label</label>
        <input type="input" name="something" id="something" class="inputClass"/>
    </div>
    <div class="divInput">
        <button>It's a buttonnnnnn!</button>
    </div>
</form>

with the following CSS3 styling info:
------------------------------------------------
fieldset {
    font-size: 1em;
    padding: 0.5em;
    border-radius: 1em;
    font-family: sans-serif;
}

div.divInput{
  float:left;
  padding-left: 2%;
}

input.inputClass{
  width: 86%;
  background-color:aquamarine;
}
label, input, button {
    font-size: inherit;
    padding: 0.2em;
    margin: 0.1em 0.2em;
    -moz-box-sizing: content-box;
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
}

This is actually a small snippet from a larger, more complicated layout that I have.
If I use the above mentioned HTML and style info,  the button seems to "kind of" align
itself vertically with the label.

What I'd like is for the button to align itself with the input control.
So roughly speaking, I'd like to see this:
-------------------------------------------------------
Label
|Input Control|          |Button|

How would I achieve this?

Here is a link the sample in jsFiddle:
http://jsfiddle.net/QKLUH/405
0
Comment
Question by:jxbma
2 Comments
 
LVL 38

Accepted Solution

by:
Tom Beck earned 2000 total points
ID: 38845562
You could add this definition:

div.divInput button{
    position:relative;
    bottom:-19px
}
0
 
LVL 54

Expert Comment

by:Scott Fell, EE MVE
ID: 38846010
http://jsfiddle.net/QKLUH/405/embedded/result/

What you want is html like below. Then give the row a width in px not % if you don't want it to wrap.  Then give the inside class your float left and width and padding not more then the row class.


<div class="row">
    <div id="thing_one" class="inside"></div>

   <div id="thing_two" class="inside"></div>
</div>
0

Featured Post

Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Use these top 10 tips to master the art of email signature design. Create an email signature design that will easily wow recipients, promote your brand and highlight your professionalism.
The first step to building an amazing About page is to figure out what you want the page to say about your company. You then must grab the attention of the reader, boast a bit, tell a story and let others brag about you. With a little bit of thought…
In this tutorial viewers will learn how to embed an audio file in a webpage using HTML5. Ensure your DOCTYPE declaration is set to HTML5: : The declaration should display (CODE) HTML5 is supported by the most recent versions of all major browsers…
In this tutorial viewers will learn how to style rounded corners for elements in CSS using the border-radius property Begin with a normal styled element such as a div: To style all four corners of the div to be the same degree of roundness, use the …
Suggested Courses

850 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question