Search code examples
csstwitter-bootstraptwitter-bootstrap-2

Placing a Input Box over a Button with same width


I am using Bootstrap 2.1 and some custom css.

I have a label and an input element that I need to place just above a div that acts like a button

<label for="email">Enter your EMail Address</label>
<input id="email" name="email" type="text" />
<div class="somebutton ">
  <a href="#" class="gradient" title="Buy Flowers">
    <span class="button_price">$14.99</span>
    <span class="button_text">Buy Flowers</span>
  </a>
  <p class="hint">Flowers delivered in 24 hours.</p>
</div>

CSS

.somebutton {
    padding:20px 0 0 0;
}
.somebutton a {
    background: #97bf0f;
    /* Old browsers */
    /* IE9 SVG, needs conditional override of 'filter' to 'none' */
    background: url(data:image/svg+xml;
    base64, PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzk3YmYwZiIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiM3M2E3MjYiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
    background: -moz-linear-gradient(top, #97bf0f 0%, #73a726 100%);
    /* FF3.6+ */
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #97bf0f), color-stop(100%, #73a726));
    /* Chrome,Safari4+ */
    background: -webkit-linear-gradient(top, #97bf0f 0%, #73a726 100%);
    /* Chrome10+,Safari5.1+ */
    background: -o-linear-gradient(top, #97bf0f 0%, #73a726 100%);
    /* Opera 11.10+ */
    background: -ms-linear-gradient(top, #97bf0f 0%, #73a726 100%);
    /* IE10+ */
    background: linear-gradient(to bottom, #97bf0f 0%, #73a726 100%);
    /* W3C */
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#97bf0f', endColorstr='#73a726', GradientType=0);
    /* IE6-8 */
    font-family:'Bree Serif', serif;
    color:#fff;
    font-size:2.0em;
    text-shadow:0 -1px #35490e;
    display:inline-block;
    border-radius:5px;
    -webkit-border-radius:5px;
    -moz-border-radius:5px;
    box-shadow:0 1px 3px #181818;
}

I want that Email to be the same width as that of the Div. How can I do it?

Also the label, text and Div combined should have a top-bottom padding of 20px.


Solution

  • Why don't you use button instead of div? This might achieve what you want.

    <label for="email">Enter your EMail Address</label>
    <div class="somebutton ">
    
    <a href="#" class="gradient" title="Buy Flowers"><input id="email" name="email" type="text" /><span class="button_price">$14.99</span> <span class="button_text">Buy Flowers</span></a>
    <p class="hint">Flowers delivered in 24 hours.</p>
    </div>