?
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
?
386 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
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 53

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

Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

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

This article describes how to create custom column layout styles for Bootstrap. The article uses 5 columns to illustrate the concept, but the principle can be extended to any number of columns.
Q&A with Course Creator, Mark Lassoff, on the importance of HTML5 in the career of a modern-day developer.
The viewer will the learn the benefit of plain text editors and code an HTML5 based template for use in further tutorials.
The viewer will learn the basics of jQuery, including how to invoke it on a web page. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery.: (CODE)
Suggested Courses

743 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