Skip to content

Commit bbe901d

Browse files
committed
Fixes jquery-archive#3898 - Header/footer mini button styles cleaned up. Footer buttons are no longer subject to the same left/right button logic as headers. Default mini/inline styles can now be overridden by setting either attribute to “false”.
1 parent 9f6b2a7 commit bbe901d

File tree

5 files changed

+33
-13
lines changed

5 files changed

+33
-13
lines changed

css/structure/jquery.mobile.button.css

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,14 @@
33
.ui-btn-inner { padding: .6em 25px; display: block; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; position: relative; zoom: 1; }
44
.ui-btn input, .ui-btn button { z-index: 2; }
55
.ui-btn-left, .ui-btn-right, .ui-btn-inline { display: inline-block; }
6+
.ui-btn-block { display: block; }
7+
8+
.ui-header .ui-btn,
9+
.ui-footer .ui-btn { display: inline-block; margin: 0; }
10+
611
.ui-header .ui-btn-inner,
712
.ui-footer .ui-btn-inner,
8-
.ui-mini .ui-btn-inner { font-size: 13px; padding: .55em 1.5em .5em; }
13+
.ui-mini .ui-btn-inner { font-size: 13px; padding: .55em 1.25em .5em; }
914

1015
.ui-header .ui-fullsize .ui-btn-inner,
1116
.ui-footer .ui-fullsize .ui-btn-inner { font-size: 16px; padding: .6em 25px; }
@@ -30,10 +35,17 @@
3035
.ui-btn-icon-top .ui-icon { top: 10px; }
3136
.ui-btn-icon-bottom .ui-icon { top: auto; bottom: 10px; }
3237

33-
.ui-mini.ui-btn-icon-left .ui-icon { left: 8px; }
34-
.ui-mini.ui-btn-icon-right .ui-icon { right: 8px; }
35-
.ui-mini.ui-btn-icon-top .ui-icon { top: 8px; }
36-
.ui-mini.ui-btn-icon-bottom .ui-icon { bottom: 8px; }
38+
.ui-btn-icon-left .ui-icon { left: 10px; }
39+
.ui-btn-icon-right .ui-icon { right: 10px; }
40+
.ui-btn-icon-top .ui-icon { top: 10px; }
41+
.ui-btn-icon-bottom .ui-icon { top: auto; bottom: 10px; }
42+
43+
.ui-header .ui-btn-icon-left .ui-icon,
44+
.ui-footer .ui-btn-icon-left .ui-icon,
45+
.ui-mini.ui-btn-icon-left .ui-icon { left: 7px; }
46+
.ui-mini.ui-btn-icon-right .ui-icon { right: 7px; }
47+
.ui-mini.ui-btn-icon-top .ui-icon { top: 7px; }
48+
.ui-mini.ui-btn-icon-bottom .ui-icon { bottom: 7px; }
3749

3850
/*hiding native button,inputs */
3951
.ui-btn-hidden { position: absolute; top: 0; left: 0; width: 100%; height: 100%; -webkit-appearance: button; opacity: .1; cursor: pointer; background: #fff; background: rgba(255,255,255,0); filter: Alpha(Opacity=.0001); font-size: 1px; border: none; text-indent: -9999px; }

css/structure/jquery.mobile.core.css

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ div.ui-mobile-viewport { overflow-x: hidden; }
4848
.ui-header .ui-btn-left,
4949
.ui-header .ui-btn-right,
5050
.ui-footer .ui-btn-left,
51-
.ui-footer .ui-btn-right { position: absolute; top: -5px; }
51+
.ui-footer .ui-btn-right { position: absolute; top: 3px; }
5252
.ui-header .ui-btn-left,
5353
.ui-footer .ui-btn-left { left: 5px; }
5454
.ui-header .ui-btn-right,

js/jquery.mobile.buttonMarkup.js

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,12 @@ $.fn.buttonMarkup = function( options ) {
7878
buttonClass += o.mini ? " ui-mini" : " ui-fullsize";
7979
}
8080

81+
if ( o.inline !== undefined ) {
82+
// Used to control styling in headers/footers, where buttons default to `mini` style.
83+
buttonClass += o.inline === false ? " ui-btn-block" : " ui-btn-inline";
84+
}
85+
86+
8187
if ( o.icon ) {
8288
o.icon = "ui-icon-" + o.icon;
8389
o.iconpos = o.iconpos || "left";
@@ -155,7 +161,6 @@ $.fn.buttonMarkup.defaults = {
155161
corners: true,
156162
shadow: true,
157163
iconshadow: true,
158-
inline: false,
159164
wrapperEls: "span"
160165
};
161166

js/jquery.mobile.navbar.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ $.widget( "mobile.navbar", $.mobile.widget, {
3434
$navbtns.buttonMarkup({
3535
corners: false,
3636
shadow: false,
37+
inline: true,
3738
iconpos: iconpos
3839
});
3940

js/jquery.mobile.page.sections.js

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -46,14 +46,16 @@ $( document ).delegate( ":jqmData(role='page'), :jqmData(role='dialog')", "pagec
4646
// Add ARIA role
4747
.attr( "role", role === "header" ? "banner" : "contentinfo" );
4848

49-
// Right,left buttons
50-
$headeranchors = $this.children( "a" );
51-
leftbtn = $headeranchors.hasClass( "ui-btn-left" );
52-
rightbtn = $headeranchors.hasClass( "ui-btn-right" );
49+
if( role === "header") {
50+
// Right,left buttons
51+
$headeranchors = $this.children( "a" );
52+
leftbtn = $headeranchors.hasClass( "ui-btn-left" );
53+
rightbtn = $headeranchors.hasClass( "ui-btn-right" );
5354

54-
leftbtn = leftbtn || $headeranchors.eq( 0 ).not( ".ui-btn-right" ).addClass( "ui-btn-left" ).length;
55+
leftbtn = leftbtn || $headeranchors.eq( 0 ).not( ".ui-btn-right" ).addClass( "ui-btn-left" ).length;
5556

56-
rightbtn = rightbtn || $headeranchors.eq( 1 ).addClass( "ui-btn-right" ).length;
57+
rightbtn = rightbtn || $headeranchors.eq( 1 ).addClass( "ui-btn-right" ).length;
58+
}
5759

5860
// Auto-add back btn on pages beyond first view
5961
if ( o.addBackBtn &&

0 commit comments

Comments
 (0)