From: Kai Moritz <kai@juplo.de> Date: Mon, 13 Jan 2014 13:53:07 +0000 (+0100) Subject: CSS für Media-Queries in einer Datei zusammengefasst X-Git-Tag: thymeroot-2.0.0~143 X-Git-Url: http://juplo.de/gitweb/?a=commitdiff_plain;h=697279a7b2b206ef6d274ed0c56c795dd28559f6;p=website CSS für Media-Queries in einer Datei zusammengefasst Es ist performanter, wenn der Browser nur eine CSS-Datei für das Screen-Layout laden muss. Zudem ermöglicht die Zusammenfassung die Verschachtelung von @media-Ausdrücken, da diese dann von LESS aufgelöst werden können. --- diff --git a/pom.xml b/pom.xml index 6eea9bab..b9e7a1b3 100644 --- a/pom.xml +++ b/pom.xml @@ -45,7 +45,7 @@ <slf4j.version>1.5.8</slf4j.version> <springframework.version>3.2.4.RELEASE</springframework.version> <tiles.version>3.0.1</tiles.version> - <wro4j.version>1.7.2</wro4j.version> + <wro4j.version>1.7.3-SNAPSHOT</wro4j.version> </properties> diff --git a/src/main/webapp/WEB-INF/templates/html-head.jsp b/src/main/webapp/WEB-INF/templates/html-head.jsp index 1cf205c6..61870cd5 100644 --- a/src/main/webapp/WEB-INF/templates/html-head.jsp +++ b/src/main/webapp/WEB-INF/templates/html-head.jsp @@ -6,10 +6,7 @@ <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="stylesheet" type="text/css" href="${base}css/base.css" /> <style type="text/css"> - @import '${base}css/screen.css' screen and (min-width: 750px); - @import '${base}css/tablet.css' screen and (min-width: 750px) and (max-width: 939px); - @import '${base}css/phone.css' screen and (max-width: 599px); - @import '${base}css/tiny.css' screen and (max-width: 399px); + @import '${base}css/screen.css' screen; </style> <script src="${base}js/base.js"></script> <!--[if IE 8]> diff --git a/src/main/webapp/WEB-INF/views/test/seitenaufteilung.jsp b/src/main/webapp/WEB-INF/views/test/seitenaufteilung.jsp index ae0fb689..0ef0520c 100644 --- a/src/main/webapp/WEB-INF/views/test/seitenaufteilung.jsp +++ b/src/main/webapp/WEB-INF/views/test/seitenaufteilung.jsp @@ -9,8 +9,7 @@ <t:putAttribute name="htmlhead" type="string"> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="stylesheet" type="text/css" href="${base}css/base.css" /> - <link rel="stylesheet/less" type="text/css" href="/less/screen/layout.less" /> - <script src="/js/less.js" type="text/javascript"></script> + <link rel="stylesheet" type="text/css" href="/css/seitenaufteilung.css" /> </t:putAttribute> <t:putAttribute name="maincontent" type="string"> <p> diff --git a/src/main/webapp/WEB-INF/views/test/seitenkopf.jsp b/src/main/webapp/WEB-INF/views/test/seitenkopf.jsp index d7a94729..c9a82c0a 100644 --- a/src/main/webapp/WEB-INF/views/test/seitenkopf.jsp +++ b/src/main/webapp/WEB-INF/views/test/seitenkopf.jsp @@ -9,8 +9,7 @@ <t:putAttribute name="htmlhead" type="string"> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="stylesheet" type="text/css" href="${base}css/base.css" /> - <link rel="stylesheet/less" type="text/css" href="/less/screen/head.less" /> - <script src="/js/less.js" type="text/javascript"></script> + <link rel="stylesheet" type="text/css" href="/css/seitenkopf.css" /> </t:putAttribute> <t:putAttribute name="maincontent" type="string"> <p> diff --git a/src/main/webapp/WEB-INF/views/test/tablet.jsp b/src/main/webapp/WEB-INF/views/test/tablet.jsp index 5bf88823..cfe37c73 100644 --- a/src/main/webapp/WEB-INF/views/test/tablet.jsp +++ b/src/main/webapp/WEB-INF/views/test/tablet.jsp @@ -9,14 +9,12 @@ <t:putAttribute name="htmlhead" type="string"> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="stylesheet" type="text/css" href="${base}css/base.css" /> - <link rel="stylesheet" type="text/css" href="${base}css/screen.css" /> <link rel="stylesheet" type="text/css" href="${base}css/tablet.css" /> </t:putAttribute> <t:putAttribute name="maincontent" type="string"> <p> Diese Seite bindet alle Styles ein, die für Tablets eingebunden - werden (<code>/css/base.css</code>, <code>/css/screen.css</code> und - <code>/css/tablet.css</code>). + werden (<code>/css/base.css</code> und <code>/css/tablet.css</code>). </p> <section> <h1>Weitere Experimente</h1> diff --git a/src/main/webapp/WEB-INF/wro.xml b/src/main/webapp/WEB-INF/wro.xml index db202706..8dcf19d8 100644 --- a/src/main/webapp/WEB-INF/wro.xml +++ b/src/main/webapp/WEB-INF/wro.xml @@ -1,43 +1,47 @@ <groups xmlns="http://www.isdc.ro/wro"> <group name="base"> - <css>/less/base/browserreset.less</css> - <css>/less/base/fonts.less</css> - <css>/less/base/util.less</css> - <css>/less/base/typo.less</css> - <css>/less/base/head.less</css> - <css>/less/base/navigation.less</css> - <css>/less/base/content.less</css> - <css>/less/base/prettify.less</css> - <css>/less/base/marginal.less</css> - <css>/less/base/footer.less</css> - <css>/less/base/formulare.less</css> + <css>/less/base.less</css> <js>/js/prettify.js</js> </group> <group name="screen"> + <css>/less/screen.less</css> + <css>/less/tablet.less</css> + <css>/less/phone.less</css> + <css>/less/tiny.less</css> + </group> + + <!-- Diese werden nur für die explizite Auswahl eines Stylings benötigt --> + <group name="tablet"> + <css>/less/variables.less</css> <css>/less/screen/typo.less</css> <css>/less/screen/layout.less</css> <css>/less/screen/head.less</css> <css>/less/screen/navigation.less</css> <css>/less/screen/marginal.less</css> <css>/less/screen/footer.less</css> - </group> - - <group name="tablet"> <css>/less/tablet/layout.less</css> <css>/less/tablet/footer.less</css> </group> - <group name="phone"> + <css>/less/variables.less</css> <css>/less/phone/typo.less</css> <css>/less/phone/navigation.less</css> </group> - <group name="tiny"> + <css>/less/variables.less</css> <css>/less/tiny/typo.less</css> <css>/less/tiny/navigation.less</css> </group> + <group name="seitenaufteilung"> + <css>/less/variables.less</css> + <css>/less/screen/layout.less</css> + </group> + <group name="seitenkopf"> + <css>/less/variables.less</css> + <css>/less/screen/head.less</css> + </group> <group name="ie8"> <js>/js/html5shiv.js</js> diff --git a/src/main/webapp/less/base.less b/src/main/webapp/less/base.less new file mode 100644 index 00000000..c8ab1eec --- /dev/null +++ b/src/main/webapp/less/base.less @@ -0,0 +1,12 @@ +@import 'variables.less'; +@import 'base/browserreset.less'; +@import 'base/fonts.less'; +@import 'base/util.less'; +@import 'base/typo.less'; +@import 'base/head.less'; +@import 'base/navigation.less'; +@import 'base/content.less'; +@import 'base/prettify.less'; +@import 'base/marginal.less'; +@import 'base/footer.less'; +@import 'base/formulare.less'; diff --git a/src/main/webapp/less/base/formulare.less b/src/main/webapp/less/base/formulare.less index 0e2ff374..15843249 100644 --- a/src/main/webapp/less/base/formulare.less +++ b/src/main/webapp/less/base/formulare.less @@ -1,7 +1,5 @@ /** Formulare *****************************************************************/ -@import '../variables.less'; - .form { position: relative; width: 100%; diff --git a/src/main/webapp/less/base/head.less b/src/main/webapp/less/base/head.less index 750995a6..3c956271 100644 --- a/src/main/webapp/less/base/head.less +++ b/src/main/webapp/less/base/head.less @@ -1,5 +1,3 @@ -@import '../variables.less'; - #header { .bpreplay; diff --git a/src/main/webapp/less/base/marginal.less b/src/main/webapp/less/base/marginal.less index 1b0868d3..9d12af5a 100644 --- a/src/main/webapp/less/base/marginal.less +++ b/src/main/webapp/less/base/marginal.less @@ -1,5 +1,3 @@ -@import '../variables.less'; - .marginal h1 { font-size: 125%; /** 20 px */ diff --git a/src/main/webapp/less/base/typo.less b/src/main/webapp/less/base/typo.less index a8d2add4..4516a9c5 100644 --- a/src/main/webapp/less/base/typo.less +++ b/src/main/webapp/less/base/typo.less @@ -1,7 +1,5 @@ /** Typografische Grundeinstellungen ******************************************/ -@import '../variables.less'; - body { .droid; diff --git a/src/main/webapp/less/phone.less b/src/main/webapp/less/phone.less new file mode 100644 index 00000000..86d429b6 --- /dev/null +++ b/src/main/webapp/less/phone.less @@ -0,0 +1,6 @@ +@media screen and (max-width: 599px) +{ + @import 'variables.less'; + @import 'phone/typo.less'; + @import 'phone/navigation.less'; +} diff --git a/src/main/webapp/less/screen.less b/src/main/webapp/less/screen.less new file mode 100644 index 00000000..110dc86d --- /dev/null +++ b/src/main/webapp/less/screen.less @@ -0,0 +1,10 @@ +@media screen and (min-width: 750px) +{ + @import 'variables.less'; + @import 'screen/typo.less'; + @import 'screen/layout.less'; + @import 'screen/head.less'; + @import 'screen/navigation.less'; + @import 'screen/marginal.less'; + @import 'screen/footer.less'; +} diff --git a/src/main/webapp/less/screen/footer.less b/src/main/webapp/less/screen/footer.less index c11be8ce..a9e05771 100644 --- a/src/main/webapp/less/screen/footer.less +++ b/src/main/webapp/less/screen/footer.less @@ -1,5 +1,3 @@ -@import '../variables.less'; - #footer { padding: 2em 0; diff --git a/src/main/webapp/less/screen/head.less b/src/main/webapp/less/screen/head.less index b7409352..b0a20bbe 100644 --- a/src/main/webapp/less/screen/head.less +++ b/src/main/webapp/less/screen/head.less @@ -1,5 +1,3 @@ -@import '../variables.less'; - #header { margin-left: -4em; diff --git a/src/main/webapp/less/screen/layout.less b/src/main/webapp/less/screen/layout.less index a8cf4ff6..2834d8f5 100644 --- a/src/main/webapp/less/screen/layout.less +++ b/src/main/webapp/less/screen/layout.less @@ -1,5 +1,3 @@ -@import '../variables.less'; - body { padding: 0 3em 0 5em; diff --git a/src/main/webapp/less/screen/navigation.less b/src/main/webapp/less/screen/navigation.less index e393589b..b9704400 100644 --- a/src/main/webapp/less/screen/navigation.less +++ b/src/main/webapp/less/screen/navigation.less @@ -1,5 +1,3 @@ -@import '../variables.less'; - #nav > hr { display: none; diff --git a/src/main/webapp/less/tablet.less b/src/main/webapp/less/tablet.less new file mode 100644 index 00000000..60456d96 --- /dev/null +++ b/src/main/webapp/less/tablet.less @@ -0,0 +1,6 @@ +@media screen and (min-width: 750px) and (max-width: 939px) +{ + @import 'variables.less'; + @import 'tablet/layout.less'; + @import 'tablet/footer.less'; +} diff --git a/src/main/webapp/less/tablet/footer.less b/src/main/webapp/less/tablet/footer.less index c737f050..df17d2f9 100644 --- a/src/main/webapp/less/tablet/footer.less +++ b/src/main/webapp/less/tablet/footer.less @@ -1,5 +1,3 @@ -@import '../variables.less'; - .cols_1 > #footer { margin: 0 0 0 -5em; diff --git a/src/main/webapp/less/tablet/layout.less b/src/main/webapp/less/tablet/layout.less index d7d37c99..6d97d708 100644 --- a/src/main/webapp/less/tablet/layout.less +++ b/src/main/webapp/less/tablet/layout.less @@ -1,5 +1,3 @@ -@import '../variables.less'; - body { padding: 0 0 0 5em; diff --git a/src/main/webapp/less/tiny.less b/src/main/webapp/less/tiny.less new file mode 100644 index 00000000..ef1470b5 --- /dev/null +++ b/src/main/webapp/less/tiny.less @@ -0,0 +1,6 @@ +@media screen and (max-width: 399px) +{ + @import 'variables.less'; + @import 'tiny/typo.less'; + @import 'tiny/navigation.less'; +}