Moodle Mobile 2 (Ionic 1) Themes: Difference between revisions
Juan Leyva (talk | contribs) |
Juan Leyva (talk | contribs) |
||
Line 23: | Line 23: | ||
The selectors and properties for styling. | The selectors and properties for styling. | ||
== How to modify the app icons == | |||
There are several ways for modifying the app icons | |||
All the parent elements of img tags containing app icons has a "app-ico" class applied, so it's very easy to modify icons using styles | |||
=== Use CSS filters === | |||
<pre> | |||
.app-ico img { | |||
-webkit-filter: invert(100%); | |||
} | |||
This will make all the icons black | |||
More information about filters: http://www.html5rocks.com/en/tutorials/filters/understanding-css/ | |||
</pre> | |||
== Example of a custom theme (CSS file) == | == Example of a custom theme (CSS file) == |
Revision as of 15:40, 16 July 2014
Note: This page is a work-in-progress. Feedback and suggested improvements are welcome. Please join the discussion on moodle.org or use the page comments.
The Mobile app can retrieve your custom styles from your Moodle site. Since is an HTML5 app, you can apply safely any CSS, CSS2 and CSS3 styles.
In your Moodle installation go to Plugins / Web services / Mobile and enter in the mobilecssurl field a valid URL pointing to a CSS file containing your custom styles (theme).
The CSS should be placed inside your Moodle installation (in your custom theme or inside a local plugin)
Once the user is logged in the app, there is a periodical process that retrieves your remote CSS files for applying your custom styles into the app.
Notice that on the first time a user opens the app, he will see the default "orange" style. Your custom styles will be applied once the user has added a site in the app.
Elements and properties that can be styled
The images below show the elements and properties that can be styled.
The page title that is visible only on mobile at the moment.
The selectors and properties for styling.
How to modify the app icons
There are several ways for modifying the app icons
All the parent elements of img tags containing app icons has a "app-ico" class applied, so it's very easy to modify icons using styles
Use CSS filters
.app-ico img { -webkit-filter: invert(100%); } This will make all the icons black More information about filters: http://www.html5rocks.com/en/tutorials/filters/understanding-css/
Example of a custom theme (CSS file)
body { background: #4bcaff; } h1 { color: #4bcaff; } h2 { color: #ffffff; background-color: #7a8a94; } .header-main { color: #4b565d; background: #4bcaff; } #page-title { text-shadow: none; } .user-menu { background: #4bcaff; } .user-menu header { background: #4b565d url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAU***); border-bottom: 5px solid #ffffff; box-shadow: 10px 0 20px rgba(0, 0, 0, 0.3); } .user-menu h2 { color: #4b565d; background: #ffffff; box-shadow: none; } .user-menu .nav-item > a { color: #4b565d; } .user-menu .nav-item .plugin-ico, .user-menu .nav-item .course-ico { background-color: #4b565d; } .grades .section-name { color: #ffffff; background-color: #7a8a94; }
Full data URI for the image referenced:
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAUAAAABQCAYAAABoMayFAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNS4xIE1hY2ludG9zaCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo3MTNEQ0YwQjA0MzIxMUU0QTVGQkY4NzM0NDgwRjM4RiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo3MTNEQ0YwQzA0MzIxMUU0QTVGQkY4NzM0NDgwRjM4RiI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjcxM0RDRjA5MDQzMjExRTRBNUZCRjg3MzQ0ODBGMzhGIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjcxM0RDRjBBMDQzMjExRTRBNUZCRjg3MzQ0ODBGMzhGIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+EEwxXwAAJDRJREFUeNrUXdl2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