Go Premium for a chance to win a PS4. Enter to Win

x
?
Solved

Right way to manage inline controls (might involve bootstrap)?

Posted on 2014-10-11
4
Medium Priority
?
193 Views
Last Modified: 2014-10-11
I have a piece of html that produces form controls and I want them lined up on the same line. I think I have no choice but use these block-level tags in order to skin them with bootstrap.

   <div class="container" style="width: 100%; background: #4e4e4e; height: 177px; color: #fff;">
        <form name="input" action="demo_form_action.asp" method="get" style="margin-top: 16px; height: 155px;">
            <div class="input-group"
                 style="margin-left: 100px; width: 200px;">
                <input type="text" name="user" placeholder="Username:" class="form-control">
                <span class="input-group-addon flat">
                    <i class=" glyphicon glyphicon-user">
                    </i>
                </span>
            </div>
            <select class="btn btn-default dropdown-toggle" name="Days" 
          			data-toggle="dropdown" style="margin-left: 20px;">
                <option value="0">Days</option>
                <option>1</option>                <option>2</option>                <option>3</option>
            </select>
            <div class="btn-group btn-block row">
                <button type="button" class="btn btn-default" style="margin-left: 20px;">Default</button>
                <button type="button" class="btn btn-default dropdown-toggle"
                        data-toggle="dropdown">
                    <span class="caret"></span>
                    <span class="sr-only">Toggle Dropdown</span>
                </button>
                <ul class="dropdown-menu" role="menu">
                    <li><a href="#">Action</a></li>
                    <li><a href="#">Another action</a></li>
                    <li><a href="#">Something else here</a></li>
                    <li class="divider"></li>
                    <li><a href="#">Separated link</a></li>
                </ul>
            </div>
            <input type="submit"
                   value="Check Files"
                   style="margin-left: 20px;"
                   class=" btn btn-default btn-primary">
        </form>
    </div>

Open in new window


This renders to:
blocks.png
I spent a lot of time getting it to look better using Float but I suspect there is a better way and one that will give me less grief for responsive. I want it to look like this:

row.png
I want the block of controls to center and, if the windows shrinks, THEN they can start stacking. But I want them on a line when there is room.  Is there a better way than float? Should I be using the bootstrap grid somehow? A toolbar?  Btn-block? This seems like such a straightforward thing that I suspect I might need to take things out rather than add things in.

What's the RIGHT way to inline and center these?
0
Comment
Question by:Kenny Hopton
  • 2
  • 2
4 Comments
 
LVL 58

Accepted Solution

by:
Gary earned 2000 total points
ID: 40375250
Remove btn-block and row from the default dropdown block

Change your username block to
<div style="margin-left: 100px; width: 200px;" class="col-xs-1">
  <div class="input-group">
                <input type="text" name="user" placeholder="Username:" class="form-control">
                <span class="input-group-addon flat">
                    <i class=" glyphicon glyphicon-user">
                    </i>
                </span>
  </div>
            </div>

Open in new window

0
 

Author Comment

by:Kenny Hopton
ID: 40375283
Thanks Gary. Giant improvement over the float workaround. I can work with this.

Was the
class="col-xs-1"

Open in new window

the only thing that can work or does it just have to be a narrow width div?

I'll close this shortly but was hoping to understand it a little better while this question gives us a place to follow up.
0
 
LVL 58

Expert Comment

by:Gary
ID: 40375287
That just floats it, you may as well use the Bootstrap classes rather than writing your own.
0
 

Author Closing Comment

by:Kenny Hopton
ID: 40375297
Fast answer that works.
0

Featured Post

What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

Question has a verified solution.

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

Find out what you should include to make the best professional email signature for your organization.
Originally, this post was published on Monitis Blog, you can check it here . Websites are getting bigger and more complicated by the day. Video, images and custom fonts are all great for showcasing your product or service. But the price to pay in…
In this tutorial viewers will learn how to style a decorative dropcap for the first letter in a paragraph using CSS. In CSS, create a new paragraph class by typing "p.fancy": Then, to style only the first letter of the first sentence, include the ps…
The viewer will learn the benefit of using external CSS files and the relationship between class and ID selectors. Create your external css file by saving it as style.css then set up your style tags: (CODE) Reference the nav tag and set your prop…

916 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