From d0cdb0776d6a23dbd19e2c722718478c058ab62d Mon Sep 17 00:00:00 2001 From: Owen Leonard Date: Wed, 18 Apr 2012 09:27:05 -0400 Subject: [PATCH] Bug 7500 [FOLLOW-UP] Use CSS Sprites for faster page loading Content-Type: text/plain; charset="utf-8" This patch removes the Koha logo from the sprite and corrects the positioning of other elements in the CSS. Apply this one on top of the first to test this option. --- koha-tmpl/opac-tmpl/prog/en/css/opac.css | 127 +++++++++++++++++---------- koha-tmpl/opac-tmpl/prog/images/sprite.png | Bin 10105 -> 7511 bytes 2 files changed, 80 insertions(+), 47 deletions(-) diff --git a/koha-tmpl/opac-tmpl/prog/en/css/opac.css b/koha-tmpl/opac-tmpl/prog/en/css/opac.css index 2c1ac74..651564d 100644 --- a/koha-tmpl/opac-tmpl/prog/en/css/opac.css +++ b/koha-tmpl/opac-tmpl/prog/en/css/opac.css @@ -176,8 +176,7 @@ h1#library { h1#libraryname { - background-image: url("../../images/sprite.png"); - background-position: -10px -9px; + background:transparent url(../../images/koha-logo.gif) no-repeat scroll 0%; border: 0; float : left !important; margin:0; @@ -428,12 +427,14 @@ a .term { #action a.print { background-image: url("../../images/sprite.png"); - background-position: -5px -253px; + background-position: -5px -186px; + background-repeat: no-repeat; } #action a#furthersearches { background-image: url("../../images/sprite.png"); - background-position: 106px -362px; + background-position: 106px -295px; + background-repeat: no-repeat; border : 1px solid #F3F3F3; margin-left : 5px; padding : 2px 26px 2px 10px; @@ -450,17 +451,20 @@ a .term { #action a.reserve, .searchresults a.reserve { background-image: url("../../images/sprite.png"); - background-position: -5px -211px; + background-position: -5px -144px; + background-repeat: no-repeat; } #action a.addtoshelf, #toolbar a.addtoshelf { background-image: url("../../images/sprite.png"); - background-position: -5px -292px; + background-position: -5px -225px; + background-repeat: no-repeat; } #action a.addtocart, #toolbar a.addtocart { background-image: url("../../images/sprite.png"); - background-position: -5px -332px; + background-position: -5px -265px; + background-repeat: no-repeat; } #action a.cartRemove, .actions a.cartRemove { @@ -472,8 +476,9 @@ a .term { #action a.incart { background-image: url("../../images/sprite.png"); - background-position: -5px -332px; - color : #666; + background-position: -5px -265px; + background-repeat: no-repeat; + color : #666; } /* toolbar buttons */ @@ -532,49 +537,56 @@ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#e0e0e0', end #toolbar a.print { background-image: url("../../images/sprite.png"); - background-position : 0px -490px; + background-position : 0px -423px; + background-repeat: no-repeat; text-decoration : none; padding-left : 30px; } #toolbar a.brief { background-image : url("../../images/sprite.png"); - background-position : -2px -935px; + background-position : -2px -868px; + background-repeat: no-repeat; text-decoration : none; padding-left : 27px; } #toolbar a.detail { background-image : url("../../images/sprite.png"); - background-position : -2px -965px; + background-position : -2px -898px; + background-repeat: no-repeat; text-decoration : none; padding-left : 27px; } #toolbar a.download { background-image : url("../../images/sprite.png"); - background-position : 2px -415px; + background-position : 2px -348px; + background-repeat: no-repeat; padding-left : 28px; text-decoration : none; } #toolbar a.editshelf { background-image : url("../../images/sprite.png"); - background-position : 2px -415px; + background-position : 2px -348px; + background-repeat: no-repeat; padding-left : 26px; text-decoration : none; } #toolbar a.empty { background-image : url("../../images/sprite.png"); - background-position : 2px -665px; + background-position : 2px -598px; + background-repeat: no-repeat; text-decoration : none; padding-left : 30px; } #toolbar a.hide { background-image : url("../../images/sprite.png"); - background-position: -3px -881px; + background-position: -3px -814px; + background-repeat: no-repeat; text-decoration : none; padding-left : 26px; } @@ -582,20 +594,23 @@ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#e0e0e0', end #toolbar a.hold, #selections-toolbar a.hold { background-image: url("../../images/sprite.png"); - background-position : -5px -520px; + background-position : -5px -453px; + background-repeat: no-repeat; text-decoration : none; padding-left : 23px; } #selections-toolbar a.hold.disabled { background-image: url("../../images/sprite.png"); - background-position : -5px -688px; + background-position : -5px -621px; + background-repeat: no-repeat; } #selections-toolbar a.removeitems, #selections-toolbar a.deleteshelf { background-image : url("../../images/sprite.png"); - background-position : 2px -757px; + background-position : 2px -690px; + background-repeat: no-repeat; text-decoration : none; padding-left : 25px; } @@ -604,20 +619,22 @@ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#e0e0e0', end #selections-toolbar a.removeitems.disabled, #selections-toolbar a.deleteshelf.disabled { background-image: url("../../images/sprite.png"); - background-position : 2px -779px; + background-position : 2px -712px; + background-repeat: no-repeat; } #toolbar a.send, a.send { background-image: url("../../images/sprite.png"); - background-position : 2px -453px; + background-position : 2px -386px; + background-repeat: no-repeat; text-decoration : none; padding-left : 28px; } #toolbar a.new { background-image : url("../../images/sprite.png"); - background-position : -4px -989px; + background-position : -4px -922px; background-repeat : no-repeat; padding-left : 23px; text-decoration : none; @@ -626,7 +643,8 @@ a.send { #toolbar input.editshelf, input.editshelf { background-image : url("../../images/sprite.png"); - background-position : 2px -799px; + background-position : 2px -732px; + background-repeat: no-repeat; border : 0; color : #006699; cursor : pointer; @@ -639,7 +657,8 @@ input.editshelf { #toolbar a.newshelf, a.newshelf { background-image: url("../../images/sprite.png"); /* add to list icon */ - background-position: -4px -831px; + background-position: -4px -864px; + background-repeat: no-repeat; border : 0; color : #006699; cursor : pointer; @@ -651,13 +670,15 @@ a.newshelf { a.newshelf.disabled { background-image: url("../../images/sprite.png"); /* add to list icon */ - background-position: -4px -858px; + background-position: -4px -791px; + background-repeat: no-repeat; } #toolbar input.deleteshelf, input.deleteshelf { background-image : url("../../images/sprite.png"); - background-position : 2px -752px; + background-position : 2px -685px; + background-repeat: no-repeat; border : 0; color : #006699; cursor : pointer; @@ -685,18 +706,18 @@ input.deleteshelf:active { #tagsel_span input.submit, #tagsel_tag { background-image : url("../../images/sprite.png"); /* tag icon */ - background-position : 7px -707px; + background-position : 7px -640px; background-repeat : no-repeat; padding-left : 25px; text-decoration: none; } #tagsel_tag { - background-position : -1px -710px; + background-position : -1px -643px; } #tagsel_tag.disabled { - background-position : -1px -734px; + background-position : -1px -667px; } #tagslist li { display : inline; } @@ -712,14 +733,16 @@ input.deleteshelf:active { .addto a.addtocart { background-image: url("../../images/sprite.png"); /* cart icon */ - background-position: -5px -332px; + background-position: -5px -265px; + background-repeat: no-repeat; text-decoration : none; padding-left : 33px; } #placehold input.submit { background-image: url("../../images/sprite.png"); /* place hold icon */ - background-position: -1px -207px; + background-position: -1px -140px; + background-repeat: no-repeat; text-decoration : none; padding-left : 23px; } @@ -736,7 +759,8 @@ input.deleteshelf:active { } .searchresults a.highlight_toggle { background-image: url("../../images/sprite.png"); /* place hold icon */ - background-position: -11px -908px; + background-position: -11px -841px; + background-repeat: no-repeat; display: none; font-weight: normal; padding : 0 10px 0 21px; @@ -1415,20 +1439,23 @@ padding-left : .4em; .actions a.hold { background-image : url("../../images/sprite.png"); - background-position : -10px -609px; + background-position : -10px -542px; + background-repeat: no-repeat; padding-left : 16px; } .actions a.addtocart { background-image : url("../../images/sprite.png"); - background-position : -10px -639px; + background-position : -10px -572px; + background-repeat: no-repeat; padding-left : 15px; display : none; } .actions a.addtoshelf { background-image : url("../../images/sprite.png"); - background-position: -10px -94px; + background-position: -10px -27px; + background-repeat: no-repeat; padding-left : 13px; } @@ -1588,7 +1615,7 @@ ul#i18nMenu li ul li { ul#i18nMenu li.more a { background-image : url("../../images/sprite.png"); - background-position : 37px -1007px; + background-position : 37px -940px; background-repeat:no-repeat; padding-right: 1.3em; } @@ -1798,7 +1825,7 @@ span.starMT { background: url("../../images/sprite.png"),-ms-linear-gradient(top, #d7e5ff 0%,#b1cbff 50%,#9fbfff 100%); /* IE10+ */ background: url("../../images/sprite.png"),linear-gradient(top, #d7e5ff 0%,#b1cbff 50%,#9fbfff 100%); /* W3C */ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#d7e5ff', endColorstr='#9fbfff',GradientType=0 ); /* IE6-9 */ - background-position: 40px -354px,top left; + background-position: 40px -287px,top left; background-repeat: no-repeat; border: 1px solid #629DCF; color : #006699; @@ -1815,7 +1842,7 @@ span.starMT { background: url("../../images/sprite.png"),linear-gradient(top, #e2ecf5 0%,#c3d8ea 50%,#b8d0e6 100%); /* W3C */ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#e2ecf5', endColorstr='#b8d0e6',GradientType=0 ); /* IE6-9 */ background-repeat: no-repeat; - background-position: 40px -354px,top left; + background-position: 40px -287px,top left; } #cartmenulink { @@ -1827,7 +1854,7 @@ span.starMT { background: url("../../images/sprite.png"),-ms-linear-gradient(top, #d5eaba 0%,#b7db8a 50%,#98cb59 100%); /* IE10+ */ background: url("../../images/sprite.png"),linear-gradient(top, #d5eaba 0%,#b7db8a 50%,#98cb59 100%); /* W3C */ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#d5eaba', endColorstr='#98cb59',GradientType=0 ); /* IE6-9 */ - background-position: -5px -323px, left top; + background-position: -5px -256px, left top; background-repeat: no-repeat; border: 1px solid #5EA28C; color : #336600; @@ -1844,7 +1871,7 @@ span.starMT { background: url("../../images/sprite.png"),linear-gradient(top, #e5f1d4 0%,#cbe4aa 50%,#c0de98 100%); /* W3C */ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#e5f1d4', endColorstr='#c0de98',GradientType=0 ); /* IE6-9 */ background-repeat: no-repeat; - background-position: -5px -323px, left top; + background-position: -5px -256px, left top; } /* IE 6 & 7 don't do multiple backgrounds, so remove extra padding */ @@ -1951,19 +1978,23 @@ a#MARCview, span#MARCview, a#MARCviewPop, a#ISBDview, span#ISBDview, a#Normalvie a#MARCview, span#MARCview { background-image: url("../../images/sprite.png"); - background-position: -5px -93px; + background-position: -5px -26px; + background-repeat: no-repeat; } a#MARCviewPop, span#MARCviewPop { background-image: url("../../images/sprite.png"); - background-position: -5px -93px; + background-position: -5px -26px; + background-repeat: no-repeat; } a#ISBDview, span#ISBDview { background-image: url("../../images/sprite.png"); - background-position: -5px -122px; + background-position: -5px -55px; + background-repeat: no-repeat; } a#Normalview, span#Normalview { background-image: url("../../images/sprite.png"); - background-position: -5px -64px; + background-position: -7px 3px; + background-repeat: no-repeat; padding-left : 15px; } @@ -2166,12 +2197,14 @@ div.bibmessage { background-color : #ffffb0; border-radius : 5px; padding : 3px; #renewselected_link { background-image : url("../../images/sprite.png"); - background-position : -5px -1055px; + background-position : -5px -988px; + background-repeat: no-repeat; } #renewall_link { background-image : url("../../images/sprite.png"); - background-position : -8px -1034px; + background-position : -8px -964px; + background-repeat: no-repeat; } div.koha_url { @@ -2283,7 +2316,7 @@ a.koha_url { } .nav_results .l_Results a { - background:#E1E1E1 url("../../images/sprite.png") no-repeat 0px -571px; + background:#E1E1E1 url("../../images/sprite.png") no-repeat 0px -504px; color:#006699; display:block; padding:8px 28px; diff --git a/koha-tmpl/opac-tmpl/prog/images/sprite.png b/koha-tmpl/opac-tmpl/prog/images/sprite.png index d3d54bedee2e548ea833a2839c6e714661b97e4e..797c0f5f920cda8a033752889ce78dd46adae2fa 100644 GIT binary patch literal 7511 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 F{2w4>zwZD5 literal 10105 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 -- 1.7.5.4