Centering elements in jQuery Mobile

Jquery Mobile

Jquery Mobile Problem Overview


Does the jQuery Mobile framework have a way of centering elements, specifically buttons? It looks like it defaults to left-aligning everything and I can't find a way (within the framework) to do this.

Jquery Mobile Solutions


Solution 1 - Jquery Mobile

jQuery Mobile doesn't seem to have a css class to center elements (I searched through its css).

But you can write your own additional css.

Try creating your own:

.center-button{
  margin: 0 auto;
}

example HTML:

<div data-role="button" class="center-button">button text</div>

and see what happens. You might need to set text-align to center in the wrapping tag, so this might work better:

.center-wrapper{
  text-align: center;
}
.center-wrapper * {
  margin: 0 auto;
}

example HTML:

<div class="center-wrapper">
  <div data-role="button">button text</div>
</div>

Solution 2 - Jquery Mobile

An overkill approach: in inline css in the div did the trick:

style="margin:0 auto;
margin-left:auto;
margin-right:auto;
align:center;
text-align:center;"

Centers like a charm!

Solution 3 - Jquery Mobile

In the situation where you are NOT going to use this over and over (i.e. not needed in your style sheet), inline style statements usually work anywhere they would work inyour style sheet. E.g:

<div data-role="controlgroup" data-type="horizontal" style="text-align:center;">

Solution 4 - Jquery Mobile

The best option would be to put any element you want to be centered in a div like this:

>

and css or inline style:

> .center {
text-align:center
}

Solution 5 - Jquery Mobile

I had found problems with some of the other methods mentioned here. Another way to do it would be to use layout grid B, and put your content in block b, and leave blocks a and c empty.

http://demos.jquerymobile.com/1.1.2/docs/content/content-grids.html

<div class="ui-grid-b">
	<div class="ui-block-a"></div>
	<div class="ui-block-b">Your Content Here</div>
	<div class="ui-block-c"></div>
</div><!-- /grid-b -->

Solution 6 - Jquery Mobile

None of these answers alone worked for me. I had to combine them. (Maybe it is because I'm using a "button" tag and not a link typed as a button?)

In the HTML:

<div class="center-wrapper"><button type="submit" data-theme="b">Login</button></div>

In the CSS:

.center-wrapper {
    text-align: center;
    width: 300px;
    margin:0 auto;
    margin-left:auto;
    margin-right:auto;
    align:center;
    text-align:center;
}

Solution 7 - Jquery Mobile

You can make the button an anchor element, and put it in a paragraph with the attribute:

align='center'

Worked for me.

Solution 8 - Jquery Mobile

To have them centered correctly and only for the items inside the wrapper .center-wrapper use this. ( all options combined should work cross browser ) if not please post a reply here!

.center-wrapper .ui-btn-text {
    overflow: hidden;
    text-align: center;
    text-overflow: ellipsis;
    white-space: nowrap;
    text-align: center;
    margin: 0 auto;
}

Solution 9 - Jquery Mobile

This works

HTML

<section id="wrapper">
    <div data-role="page">
    </div>
</section>

Css

#wrapper { 
    margin:0 auto;
    width:1239px;
    height:1022px;
    background:#ffffff;
    position:relative;
}

Solution 10 - Jquery Mobile

Adjust as your requirement

   .ui-btn{
      margin:0.5em 10px;
    }

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestiongrunerView Question on Stackoverflow
Solution 1 - Jquery MobilenaugturView Answer on Stackoverflow
Solution 2 - Jquery MobileBillView Answer on Stackoverflow
Solution 3 - Jquery MobilePeterView Answer on Stackoverflow
Solution 4 - Jquery MobileazerafatiView Answer on Stackoverflow
Solution 5 - Jquery MobileUniphonicView Answer on Stackoverflow
Solution 6 - Jquery MobileDougView Answer on Stackoverflow
Solution 7 - Jquery MobilehusamView Answer on Stackoverflow
Solution 8 - Jquery MobileRubytasticView Answer on Stackoverflow
Solution 9 - Jquery MobileGiriView Answer on Stackoverflow
Solution 10 - Jquery MobileMuhammad TariqView Answer on Stackoverflow