From 3d0c1ee9e1e4ba9d51b58c919d7c65bac008c5ee Mon Sep 17 00:00:00 2001 From: Jasper de Groot Date: Fri, 9 Nov 2012 15:05:41 +0100 Subject: [PATCH] Checkboxradio: hiding the icon in horizontal controlgroups with CSS instead of JS. Fixes #5264. --- css/structure/jquery.mobile.forms.checkboxradio.css | 13 +++++++++---- js/widgets/forms/checkboxradio.js | 2 +- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/css/structure/jquery.mobile.forms.checkboxradio.css b/css/structure/jquery.mobile.forms.checkboxradio.css index 52f0817b80b..d19d95cb04f 100644 --- a/css/structure/jquery.mobile.forms.checkboxradio.css +++ b/css/structure/jquery.mobile.forms.checkboxradio.css @@ -3,15 +3,13 @@ .ui-checkbox .ui-btn.ui-mini, .ui-radio .ui-btn.ui-mini { margin: .25em 0; } .ui-controlgroup .ui-checkbox .ui-btn, .ui-controlgroup .ui-radio .ui-btn { margin: 0; } .ui-checkbox .ui-btn-inner, .ui-radio .ui-btn-inner { white-space: normal; } + .ui-checkbox .ui-btn-icon-left .ui-btn-inner,.ui-radio .ui-btn-icon-left .ui-btn-inner { padding-left: 45px; } .ui-checkbox .ui-mini.ui-btn-icon-left .ui-btn-inner,.ui-radio .ui-mini.ui-btn-icon-left .ui-btn-inner { padding-left: 36px; } - .ui-checkbox .ui-btn-icon-right .ui-btn-inner, .ui-radio .ui-btn-icon-right .ui-btn-inner { padding-right: 45px; } .ui-checkbox .ui-mini.ui-btn-icon-right .ui-btn-inner, .ui-radio .ui-mini.ui-btn-icon-right .ui-btn-inner { padding-right: 36px; } - -.ui-checkbox .ui-btn-icon-top .ui-btn-inner,.ui-radio .ui-btn-icon-top .ui-btn-inner { padding-right: 0; padding-left: 0; text-align: center; } +.ui-checkbox .ui-btn-icon-top .ui-btn-inner, .ui-radio .ui-btn-icon-top .ui-btn-inner { padding-right: 0; padding-left: 0; text-align: center; } .ui-checkbox .ui-btn-icon-bottom .ui-btn-inner, .ui-radio .ui-btn-icon-bottom .ui-btn-inner { padding-right: 0; padding-left: 0; text-align: center; } - .ui-checkbox .ui-icon, .ui-radio .ui-icon { top: 1.1em; } .ui-checkbox .ui-btn-icon-left .ui-icon, .ui-radio .ui-btn-icon-left .ui-icon { left: 15px; } .ui-checkbox .ui-mini.ui-btn-icon-left .ui-icon, .ui-radio .ui-mini.ui-btn-icon-left .ui-icon { left: 9px; } @@ -22,5 +20,12 @@ .ui-checkbox .ui-btn-icon-right .ui-icon, .ui-radio .ui-btn-icon-right .ui-icon { right: 15px; } .ui-checkbox .ui-mini.ui-btn-icon-right .ui-icon, .ui-radio .ui-mini.ui-btn-icon-right .ui-icon { right: 9px; } +.ui-controlgroup-horizontal .ui-checkbox .ui-icon, +.ui-controlgroup-horizontal .ui-radio .ui-icon { display: none; } +.ui-controlgroup-horizontal .ui-checkbox .ui-btn-inner, +.ui-controlgroup-horizontal .ui-radio .ui-btn-inner { padding: .6em 20px; } +.ui-controlgroup-horizontal .ui-checkbox .ui-mini .ui-btn-inner, +.ui-controlgroup-horizontal .ui-radio .ui-mini .ui-btn-inner { padding: .55em 11px .5em; } + /* input, label positioning */ .ui-checkbox input,.ui-radio input { position:absolute; left:20px; top:50%; width: 10px; height: 10px; margin:-5px 0 0 0; outline: 0 !important; z-index: 1; } diff --git a/js/widgets/forms/checkboxradio.js b/js/widgets/forms/checkboxradio.js index c76ce436012..2e035c3f7e4 100644 --- a/js/widgets/forms/checkboxradio.js +++ b/js/widgets/forms/checkboxradio.js @@ -34,7 +34,7 @@ $.widget( "mobile.checkboxradio", $.mobile.widget, { mini = inheritAttr( input, "mini" ) || o.mini, checkedState = inputtype + "-on", uncheckedState = inputtype + "-off", - icon = input.parents( ":jqmData(type='horizontal')" ).length ? undefined : uncheckedState, + icon = uncheckedState, iconpos = inheritAttr( input, "iconpos" ), activeBtn = icon ? "" : " " + $.mobile.activeBtnClass, checkedClass = "ui-" + checkedState + activeBtn,