Flinders skeleton templates The default skeleton layout for the Flinders University website (below) can be used as a base template to setup web applications and other non-cms templates that are available to the public and do not require a log in (see the Guidelines for web applications document for further information about web applications). A complete review of the structure of the University’s web templates has meant that the template has moved away from the Yahoo YUI! libraries and to a fixed width layout grid system bases on the 1KB Grid System framework (http://1kbgrid.com/) by Tyler Tate. A grid is a method used to create layout consistency on a webpage. It utilises columns (areas of the page that allow content to line up correctly) and gutters, (spacing between the columns). To understand the layout and grid behind the template please read the section entitled Explanation of the Flinders Grid system in this document. The structure of the base skeleton: To begin with you can download the base skeleton (http://www.flinders.edu.au/cms-templates/external/skeletons/skeletonstandard.html). The base skeleton is built using HTML5 and CSS3 elements. Many div tags and classes have been replaced with the following HTML tags. <header>: Defines a header for a section or page <footer>: Defines a footer for a section or page <nav>: Defines navigation links <article>: specifies independent, self-contained content such as a blog entry or main content <aside>: defines content aside from the page content Other attributes within tags that you may notice are the role attributes ie <header class="main_header" role="banner">. These attributes help with accessibility and are related to WAI-ARIA (http://www.w3.org/WAI/intro/aria). Although not currently supported by all screen readers they improve readability of the site. There is also a link to the modernizr script (<script type="text/javascript" src="/flinders/app_templates/flinderstemplates/javascript/modernizr.js">) in the head of the template. This is an important link as it provides support for HTML5 tags in older browsers. The content structure: The content area of the template is split into the left hand navigation, breadcrumbs and main content area (below). The left hand nav and breadcrumbs are standard features of the base skeleton template. The main content area can be modified to create layouts that suit the context that the template is being used for. The structure in the main content area of the base skeleton template (highlighted above) is setup to have an <article> area 8 columns wide and a right hand <aside> area that is 4 columns wide (to understand rows, columns and column width as well as how to set these up to build nested structures please read the Explanation of the Flinders Grid system in this document). Once you are familiar with the grid system you can create nested structures similar to the one illustrated below (these structures exist in the CMS) and can be used to expand the base skeleton. Not all the structures provided in the skeleton templates will suit your application and in those cases you may have to create your own structures. Note: It is recommended that you contact Online Communications to provide guidance should you wish to change template structures. The template below is the skeleton-2pillars template (http://www.flinders.edu.au/cms-templates/external/skeletons/skeleton2pillars.html). The html that makes the 2 pillar structure is visible under the screen shot (again, how this works is describe in the explanation of the grid system). <div class="column grid_12"> <!-- breadcrumbs--><div class="breadcrumbs . . . <!--end breadcrumbs--> <article role="main"> <div id="container_num_1" class="container container_no_box"> <p> YOUR MAIN CONTENT GOES HERE. </p> </div> </article> <div class="row"> <div class="column grid_6"> <article role="main"> <div id="container_num_2" class="container container_no_box"> <p> YOUR MAIN CONTENT GOES HERE. </p> </div> </article> </div><!--end column wrapper--> <div class="column grid_6"> <article role="main"> <div id="container_num_3" class="container container_no_box"> <p> YOUR MAIN CONTENT GOES HERE. </p> </div> </article> </div><!--end column wrapper--> </div><!--end row wrapper--> </div> <!--end column grid_12--> Summary of skeletons available for download: Skeleton-standard: (http://www.flinders.edu.au/cmstemplates/external/skeletons/skeleton-standard.html) Skeleton-4grid: (http://www.flinders.edu.au/cmstemplates/external/skeletons/skeleton-4grid.html) Skeleton-2pillars: (http://www.flinders.edu.au/cmstemplates/external/skeletons/skeleton-2pillars.html) Skeleton-3pillars: (http://www.flinders.edu.au/cmstemplates/external/skeletons/skeleton-3pillars.html) Skeleton-no-nav: (http://www.flinders.edu.au/cmstemplates/external/skeletons/skeleton-no-nav.html) Inserting elements of the templates: Elements such as the header banner and footer are fairly standard within the template and below are explanations on how they can be used and referenced in non-cms templates. Note that these elements assume that you are already using an HTML skeleton with the appropriate HEAD tag sub-elements, especially the LINK tags: <link media="screen" rel="stylesheet" href="/flinders/app_templates/flinderstemplates/tmp_flin_base_v2.css" type="text/css"/> <link href="http://www.flinders.edu.au/flinders/app_templates/flinderstempla tes/tmp_flin_print.css" rel="stylesheet" media="print"/> - and the appropriate BODY tags and wrapping DIV: <body id="bodytag"> <!--Wrapper around entire page--> <div id="page_wrapper"> (Please refer to the skeleton samples above for guidance). The root folder of the elements talked about below can be found at the following location: http://www.flinders.edu.au/cms-templates/external/ Banners http://www.flinders.edu.au/cms-templates/external/banners/ The generic banner reference can be found at: http://www.flinders.edu.au/cms-templates/external/banners/banner-generic .cfm The following page generates a banner, with a custom sub site title image. You can then save the HTML and insert it into your application (or, if you're keen to avoid hard-coding in your system, you can request this via HTTP within your application code. For example, for a Topic page, using the Current Students sub site title: http://www.flinders.edu.au/cms-templates/external/banners/bannergeneric.cfm?bannerimagename=current_students.png&pagetitle=Current Students This will create a banner where the inspiring achievement image is replaced with the current students image (Note: this image must exist on the server in the same location as the inspiring achievement graphic). Also note the pagetitle value at the end of the URL is set to the title you wish to display on the page. This is a hidden title and is used mainly for screen readers. Footers http://www.flinders.edu.au/cms-templates/external/footers/ The footer can be inserted in a few ways: 1. As an IFRAME: You customise the "Maintained by" link in the footer by passing parameters on the URL: maintbyname maintbyaddr (or accept the default) pagetitle (The email address is derived from the name, unless you specify maintbyaddr). <div class="app_footer"> <iframe src="http://www.flinders.edu.au/cmstemplates/external/footers/footer-iframeapp.cfm?maintbyname=Student.Systems&maintbyaddr=student .systems&pagetitle=Topic page" width="100%" seamless="seamless" scrolling="no" frameborder="0"> Your user agent does not support frames or is currently configured not to display frames.</iframe> </div> The class=”app_footer” that is wrapped around the iframe is used to define the height of the default footer. This is applied in the main CSS file for the new templates so any changes that are made to the height of the footer will be applied to this class within the CSS. This should automatically change the height wherever the iframe footer is embedded. Examples of usage: This page is an example of the footer ready to be inserted as an IFRAME using the following url: http://www.flinders.edu.au/cms-templates/external/footers/footer-iframeapp.cfm?maintbyname=Student.Systems&maintbyaddr=student.systems&pag etitle=Topic page The mockup of the Student Systems Topic page, using the new template but including the IFRAME footer: http://www.flinders.edu.au/cms-templates/external/tests/app-iframe.html 2. As an INCLUDE: If your application is located on the main web server AAPEP (e.g. the Events system), the footer can be included directly. The following is a Coldfusion example (but a similar thing can be done with PHP): <cfparam name="url.maintbyname" default="Scholarships Office"> <cfparam name="url.maintbyaddr" default=”[email protected]”> <cfparam name="url.sectiontitle" default="(Title of the section this page belongs to)"> <cfinclude template="/flinders/cmstemplates/external/footers/footer-generic.cfm"> 3. Hard-coded: You can also just ask Online Communications to generate the HTML for you. In some cases it’s not feasible to have the full footer structure. An example of this is non-public web application. Breadcrumbs You can generate the HTML code for any set of breadcrumbs by using this page: http://www.flinders.edu.au/cmstemplates/external/breadcrumbs/breadcrumbs-generic.cfm It accepts this parameter on the URL: crumbs=<title1>|<link1>,<title2>|<link2>,... <title1>,<title2> etc are titles of pages. <link1>,<link2> etc are URLs of the pages. The following is an example of this in use: http://www.flinders.edu.au/cmstemplates/external/breadcrumbs/breadcrumbsgeneric.cfm?crumbs=Flinders%20University|http://www.flinders.edu.au,Prosp ective%20students|http://www.flinders.edu.au/futurestudents/,Credit%20transfer%20officers|/credit_officers.taf Side navigation A dummy side navigation is available for you to customise: http://www.flinders.edu.au/cms-templates/external/sidenav/sidenavempty.html Take note of the names of the side navigation elements in this sample, as well as the classes applied. Correct use of these will ensure that the side navigation is styled correctly. Complete skeletons You can generate an entire skeleton HTML page by using this skeleton generator: http://www.flinders.edu.au/cms-templates/external/skeletons/skeleton-test.cfm You can customise the HEAD elements (title, description, subject) using these URL parameters: pagesubject pagetitle pagedescription You can customise the footer by using: sectiontitle maintbyname maintbyaddr You can customise the breadcrumbs by using: crumbs=<title1>|<link1>,<title2>|<link2>,... See the example in Breadcrumbs: http://www.flinders.edu.au/cms-templates/external/skeletons/skeletontest.cfm?crumbs=Flinders%20University|http://www.flinders.edu.au,Prospectiv e%20students|http://www.flinders.edu.au/futurestudents/,Credit%20transfer%20officers|/credit_officers.taf Explanation of the Flinders Grid system: The grid system implemented for the Flinders University Content Management System (CMS) templates is based on the 1KB Grid System framework (http://1kbgrid.com/) by Tyler Tate. A grid is a method used to create layout consistency on a webpage. It utilises columns (areas of the page that allow content to line up correctly) and gutters, (spacing between the columns) and typically looks something like this: The Flinders Grid: The configuration of the Flinders CMS grid is a fixed width grid of 15 columns spread over 1060 pixels. Each individual column is 60 pixels wide, with a 10 pixel gutter between every column. The CSS behind the grid: The CSS to create the grid is as follows: .grid_1 { width:60px; } .grid_2 { width:130px; } .grid_3 { width:200px; } .grid_4 { width:270px; } .grid_5 { width:340px; } .grid_6 { width:410px; } .grid_7 { width:480px; } .grid_8 { width:550px; } .grid_9 { width:620px; } .grid_10 { width:690px; } .grid_11 { width:760px; } .grid_12 { width:830px; } .grid_13 { width:900px; } .grid_14 { width:970px; } .grid_15 { width:1040px; } .column { margin: 0 0px 0px 10px; overflow: hidden; float: left; display: inline; } .row { width: 1060px; margin: 0 auto; overflow: hidden; } .row .row { margin: 0 0px 0px -10px; width: auto; } Within the CSS file (http://www.flinders.edu.au/flinders/app_templates/flinderstemplates/tmp_flin_ base_v2.css) there is a class that corresponds to each of the possible combined column widths. Each column has a 60 pixel width. Class “.grid_1” through to class “.grid_15” refer to the number of combined columns that create a width. A 10 pixel gutter has to be taken into account for every column width. I.e. the width of “.grid_3” is calculated as 60 + 10 + 60 + 10 + 60 = 200px. In addition to the column widths, there are only two other classes defined that form the structure of the grid. “column” and “row”. The “column” class has a margin of 10 pixels on the left edge creating the 10 pixel gutter mentioned above. Note: The “overflow:hidden” property on both the “column” and “row” are there to help the overflow of content and preserve the float structure of the grid. Setting up the HTML structure: The HTML used to create the grid structure is minimal. Each column (defined by the “column” class) contains a second class that determines the width of the column (i.e. “grid_5” gives the column a width of 340 pixels). The columns are contained by a row. This row clears the float of the columns and creates a new “row” of columns (Note: nested rows can be used to create more complicated layouts and are explained later). In order for the layout to work correctly the grid within the first parent row must add up to 15 columns. See examples below. <div class="row"> <div class="column grid_5"> </div> <div class="column grid_5"> </div> <div class="column grid_5"> </div> </div> .grid_5 + grid_5 + grid_5 = 15 columns (grid_5 spans the width of 5 columns) <div class="row"> <div class="column grid_10"> </div> <div class="column grid_5"> </div> </div> grid_10 + grid_5 = 15 columns <div class="row"> <div class="column <div class="column <div class="column <div class="column </div> grid_3"> grid_4"> grid_4"> grid_4"> </div> </div> </div> </div> grid_3 + grid_4 + grid_4 + grid_4 = 15 columns Nested rows: Nested rows enable more complicated layouts to be created. By default the grid sets a width of 1060 pixels on the .row class, in order to create a nested row we need to overwrite the original .row class with a nested .row class in the CSS. .row .row { margin: 0 0px 0px -10px; width: auto; } Remember that the .column class has a left margin of 10 pixels (that creates the 10 pixel gutter). We are keeping this gutter for nested columns, but we need to compensate for the left margin of the first nested column so we use the property margin: 0 0 0 -10px;. Below is the code to create the following nested layout: <div class="row"> <div class="column grid_10"> Enter some content here. . . <div class="row"> <div class="column grid_5"> </div> <div class="column grid_5"> </div> </div> </div> <div class="column grid_5"> </div> </div> Note: The columns within the nested row must add up to the grid of the column the row sits in. I.e. in the example above the nested row sits within the column grid_10 so the grid values of the nested column must add up to 10 (grid_5 + grid_5 = grid_10).
© Copyright 2026 Paperzz