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
Solved

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

Posted on 2014-10-11
4
181 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 500 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

Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

One of a set of tools we're offering 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 demonstrates how to create a simple responsive confirmation dialog with Ok and Cancel buttons using HTML, CSS, jQuery and Promises
The article shows the basic steps of integrating an HTML theme template into an ASP.NET MVC project
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…
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…

839 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