SlideShare uma empresa Scribd logo
1 de 33
Joomla! Day UK 2009
Joomla! Day UK 2009 Menus and how to make them look cool Providing a flexible platform for digital publishing and collaboration. Chris Davenport Joomla! Core Team
Choosing a template Choose primarily for layout Menus can usually be customised
All kinds of menus All menus are just HTML unordered lists
Basic menu HTML ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Some tags and attributes stripped for clarity URLs shortened for clarity
Basic CSS styling ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Learn more:  http://www.w3schools.com/css/default.asp
CSS Box Model Margin Padding Border Content box Bounding box
Basic menu styling ,[object Object],ul.menu { list-style: none; margin: 0; padding: 0; } Default Joomla menu class Corresponding class selector Don't need any of these styles if you used a CSS reset script
Vertical menus
Vertical menus ,[object Object],[object Object],[object Object],[object Object],Gives all menu items a fixed width
Horizontal menus
Variable width horizontal ,[object Object],[object Object],[object Object]
Fixed width horizontal ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Basic styling ul.menu a { display: block; width: 8.5em; font-size: 2em; text-decoration: none; margin-top: 10px; padding: 5px 5px 5px 15px; color: #2b3d91; background-color: #f0f0f0; }
Web developer toolbar http://addons.mozilla.org/firefox/60/
Roll-over effects ,[object Object],[object Object],[object Object],[object Object],Reminder: The order of CSS pseudo-classes for link states is important. Mnemonic: “LoVe - HAte” Example ul.menu a:link, ul.menu a:visited { text-decoration: none; } ul.menu a:hover { text-decoration: underline; }
Roll-over effects: Example ul.menu a:hover { color: white; background-color: blue; } ul.menu a:link, ul.menu a:visited { color: blue; background-color: white; } ul.menu a:active { color: white; background-color: red; }
Roll-over effects: Borders ul.menu a:link, ul.menu a:visited { padding: 0.2em 0.4em; border-left: 0.4em solid #2b3d91; color: #2b3d91; background: #f6f6ff; } ul.menu a:hover { border-left: 0.4em solid #aea; color: white; background: #369; } ul.menu a:active { border-left: 0.4em solid red; }
Roll-over effects: submenus ul.menu li ul { position: absolute; width: 300px; left: -999em; } ul.menu li:hover ul { left: auto; margin-left: 352px; margin-top: -15px; } This shifts the sub-menu off the page  This brings the sub-menu back onto the page  Use margins to position the sub-menu http://www.alistapart.com/articles/dropdowns http://htmldog.com/articles/suckerfish/dropdowns/
Joomla menu CSS <ul class=&quot;menu&quot;> <li id=&quot;current&quot; class=&quot;active item1&quot;> <li class=&quot;parent item27&quot;> <li class=&quot;item2&quot;> Sample data: Home page This menu item has an ItemID of 1. There can be only one  current  menu item so it has an  id  of “current” This menu item is the  parent  of at least one sub-menu so it has a class of “parent”.
Joomla menu CSS <ul class=&quot;menu&quot;> <li class=&quot;item1&quot;> <li class=&quot;parent active item27&quot;> <ul> <li id=&quot;current&quot; class=&quot;active item34&quot;> Sample data: What's New in 1.5? page There can be many  active  menu items so they have a  class  of “active”
Joomla menu item states ul.menu li#current a:link, ul.menu li#current a:visited, ul.menu li.active a:link, ul.menu li.active a:visited { color: #f0f0f0; background: #2b3d91; border-left: 0.4em solid #fe3; } ul.menu li#current a:hover, ul.menu li.active a:hover { border-left: 0.4em solid #aea; } Remember: there's only one current item But there can be more than one active item Sometimes you may need to change the hover colour for the current item
Joomla menu CSS cascade /* Basic link styles - Joomla states */ ul.menu li#current a:link, ul.menu li#current a:visited, ul.menu li.active > a:link, ul.menu li.active > a:visited {} /* Basic menu styles */ ul.menu {} /* Hover states */ ul.menu a:hover, ul.menu li#current a:hover, ul.menu li.active a:hover {} /* Suckerfish - Hide/show sub-menus */ ul.menu li ul { position: absolute; left: -999em; } ul.menu li:hover ul { left: auto; margin-left: 342px; margin-top: -44px; } /* Basic link styles */ ul.menu a:link, ul.menu a:visited {} /* Styles for parent menus */ ul.menu li.parent {} /* Active states */ ul.menu a:active, ul.menu li#current a:active, ul.menu li.active a:active {}
Background images ul.menu a:link, ul.menu a:visited { padding: 5px 5px 5px 25px; background: url(../images/arrow.png) no-repeat center left; } The path to the image is relative to the CSS file, not the template root Increase the left padding to allow room for the background image Use “center” to centre the image vertically
Background images ul.menu a:link, ul.menu a:visited { margin-top: 10px; padding: 5px 5px 5px 25px; background: url(../images/button_0.png) no-repeat center left; color: white; } ul.menu a:hover { background: url(../images/button_1.png) no-repeat center left; }
Where to get button images ,[object Object],[object Object],[object Object],[object Object]
Joomla Menu Tag ID Module Manager -> Module: [Edit] <ul class=”menu” id=”main-menu”> Enter an id here and it will be added to the UL here Instead of ul.menu, use ul#main-menu
Joomla Menu Class Suffix <ul class=”menu-main-menu”> Module Manager -> Module: [Edit] Enter a suffix here and it will be added to the UL here
Joomla Menu Class Suffix Tip: If you enter a Menu Class Suffix with a leading space, you will get separate CSS classes in the UL. Tip: You can have as many classes in the UL as you like. <ul class=”menu main-menu”> <ul class=”menu main left rounded”>
Conclusion ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
If you can't be bothered Check out the extensions site: http://extensions.joomla.org/extensions/core-enhancements/menu-systems
Joomla menus Questions?
Copyright and Licence Copyright © 2009 Chris Davenport This presentation is available for use under the Joomla! Electronic Documentation License http://docs.joomla.org/JEDL

Mais conteúdo relacionado

Mais procurados

How to Develop a Basic Magento Extension Tutorial
How to Develop a Basic Magento Extension TutorialHow to Develop a Basic Magento Extension Tutorial
How to Develop a Basic Magento Extension TutorialHendy Irawan
 
Resnick webconversion2
Resnick webconversion2Resnick webconversion2
Resnick webconversion2comedyjant
 
In some simple steps, your site can stand out from the rest. Here's how...
In some simple steps, your site can stand out from the rest. Here's how... In some simple steps, your site can stand out from the rest. Here's how...
In some simple steps, your site can stand out from the rest. Here's how... British Council
 
Class 3 create an absolute layout with css abs position (aptana)
Class 3  create an absolute layout with css abs position (aptana)Class 3  create an absolute layout with css abs position (aptana)
Class 3 create an absolute layout with css abs position (aptana)Erin M. Kidwell
 
Develop advance joomla! MVC Component for version 3
Develop advance joomla! MVC Component for version 3Develop advance joomla! MVC Component for version 3
Develop advance joomla! MVC Component for version 3Gunjan Patel
 
Developing new feature in Joomla - Joomladay UK 2016
Developing new feature in Joomla - Joomladay UK 2016Developing new feature in Joomla - Joomladay UK 2016
Developing new feature in Joomla - Joomladay UK 2016Peter Martin
 
Custom Template for Joomla! 3
Custom Template for Joomla! 3Custom Template for Joomla! 3
Custom Template for Joomla! 3Carly Willats
 
How to Create simple One Page site
How to Create simple One Page siteHow to Create simple One Page site
How to Create simple One Page siteMoneer kamal
 
How to create a joomla component from scratch
How to create a joomla component from scratchHow to create a joomla component from scratch
How to create a joomla component from scratchTim Plummer
 
InsideoutLegal's pick of WordPress themes
InsideoutLegal's pick of WordPress themesInsideoutLegal's pick of WordPress themes
InsideoutLegal's pick of WordPress themesnzde
 
Dress Your WordPress with Child Themes
Dress Your WordPress with Child ThemesDress Your WordPress with Child Themes
Dress Your WordPress with Child ThemesLaurie M. Rauch
 
So you want to build a Facebook app
So you want to build a Facebook appSo you want to build a Facebook app
So you want to build a Facebook appkamal.fariz
 
Introduction to building joomla! components using FOF
Introduction to building joomla! components using FOFIntroduction to building joomla! components using FOF
Introduction to building joomla! components using FOFTim Plummer
 
PSD to WordPress
PSD to WordPressPSD to WordPress
PSD to WordPressNile Flores
 
Joomla 3 JLayout's - Joomladay Netherlands 2014 #jd14nl
Joomla 3 JLayout's - Joomladay Netherlands 2014 #jd14nlJoomla 3 JLayout's - Joomladay Netherlands 2014 #jd14nl
Joomla 3 JLayout's - Joomladay Netherlands 2014 #jd14nlPhilip Locke
 
Bootstrap 3 in Joomla!
Bootstrap 3 in Joomla!Bootstrap 3 in Joomla!
Bootstrap 3 in Joomla!Hans Kuijpers
 
Confluence - Improving Space Navigation. London AUG October 2013
Confluence - Improving Space Navigation. London AUG October 2013Confluence - Improving Space Navigation. London AUG October 2013
Confluence - Improving Space Navigation. London AUG October 2013Charles_Hall
 
Class 4 handout w css3 using j fiddle
Class 4 handout w css3 using j fiddleClass 4 handout w css3 using j fiddle
Class 4 handout w css3 using j fiddleErin M. Kidwell
 
Alt tab - better apex tabs
Alt tab - better apex tabsAlt tab - better apex tabs
Alt tab - better apex tabsEnkitec
 

Mais procurados (20)

How to Develop a Basic Magento Extension Tutorial
How to Develop a Basic Magento Extension TutorialHow to Develop a Basic Magento Extension Tutorial
How to Develop a Basic Magento Extension Tutorial
 
Resnick webconversion2
Resnick webconversion2Resnick webconversion2
Resnick webconversion2
 
In some simple steps, your site can stand out from the rest. Here's how...
In some simple steps, your site can stand out from the rest. Here's how... In some simple steps, your site can stand out from the rest. Here's how...
In some simple steps, your site can stand out from the rest. Here's how...
 
Class 3 create an absolute layout with css abs position (aptana)
Class 3  create an absolute layout with css abs position (aptana)Class 3  create an absolute layout with css abs position (aptana)
Class 3 create an absolute layout with css abs position (aptana)
 
Develop advance joomla! MVC Component for version 3
Develop advance joomla! MVC Component for version 3Develop advance joomla! MVC Component for version 3
Develop advance joomla! MVC Component for version 3
 
Developing new feature in Joomla - Joomladay UK 2016
Developing new feature in Joomla - Joomladay UK 2016Developing new feature in Joomla - Joomladay UK 2016
Developing new feature in Joomla - Joomladay UK 2016
 
Custom Template for Joomla! 3
Custom Template for Joomla! 3Custom Template for Joomla! 3
Custom Template for Joomla! 3
 
How to Create simple One Page site
How to Create simple One Page siteHow to Create simple One Page site
How to Create simple One Page site
 
How to create a joomla component from scratch
How to create a joomla component from scratchHow to create a joomla component from scratch
How to create a joomla component from scratch
 
InsideoutLegal's pick of WordPress themes
InsideoutLegal's pick of WordPress themesInsideoutLegal's pick of WordPress themes
InsideoutLegal's pick of WordPress themes
 
Dress Your WordPress with Child Themes
Dress Your WordPress with Child ThemesDress Your WordPress with Child Themes
Dress Your WordPress with Child Themes
 
So you want to build a Facebook app
So you want to build a Facebook appSo you want to build a Facebook app
So you want to build a Facebook app
 
Introduction to building joomla! components using FOF
Introduction to building joomla! components using FOFIntroduction to building joomla! components using FOF
Introduction to building joomla! components using FOF
 
PSD to WordPress
PSD to WordPressPSD to WordPress
PSD to WordPress
 
Joomla 3 JLayout's - Joomladay Netherlands 2014 #jd14nl
Joomla 3 JLayout's - Joomladay Netherlands 2014 #jd14nlJoomla 3 JLayout's - Joomladay Netherlands 2014 #jd14nl
Joomla 3 JLayout's - Joomladay Netherlands 2014 #jd14nl
 
Bootstrap 3 in Joomla!
Bootstrap 3 in Joomla!Bootstrap 3 in Joomla!
Bootstrap 3 in Joomla!
 
Confluence - Improving Space Navigation. London AUG October 2013
Confluence - Improving Space Navigation. London AUG October 2013Confluence - Improving Space Navigation. London AUG October 2013
Confluence - Improving Space Navigation. London AUG October 2013
 
Class 4 handout w css3 using j fiddle
Class 4 handout w css3 using j fiddleClass 4 handout w css3 using j fiddle
Class 4 handout w css3 using j fiddle
 
Alt tab - better apex tabs
Alt tab - better apex tabsAlt tab - better apex tabs
Alt tab - better apex tabs
 
18. images in symfony 4
18. images in symfony 418. images in symfony 4
18. images in symfony 4
 

Semelhante a Joomla! Day UK 2009 Menus Presentation

Css 2c (2) (1) (1) (2)
Css 2c (2) (1) (1) (2)Css 2c (2) (1) (1) (2)
Css 2c (2) (1) (1) (2)gng542
 
DG Group - Active Or Passive Website
DG Group - Active Or Passive WebsiteDG Group - Active Or Passive Website
DG Group - Active Or Passive WebsiteFranco De Bonis
 
Html structure
Html structureHtml structure
Html structureakkias
 
Drupal Omega and Responsive Build out
Drupal Omega and Responsive Build outDrupal Omega and Responsive Build out
Drupal Omega and Responsive Build outTim Whelan
 
Twitter bootstrap on rails
Twitter bootstrap on railsTwitter bootstrap on rails
Twitter bootstrap on railsMasakuni Kato
 
CSS Disable Button - How to Disable Buttons Using CSS - Blogs
CSS Disable Button - How to Disable Buttons Using CSS - BlogsCSS Disable Button - How to Disable Buttons Using CSS - Blogs
CSS Disable Button - How to Disable Buttons Using CSS - BlogsRonDosh
 
Supercharged HTML & CSS
Supercharged HTML & CSSSupercharged HTML & CSS
Supercharged HTML & CSSMax Kraszewski
 
Stylesheets for Online Help - Scott DeLoach, ClickStart
Stylesheets for Online Help - Scott DeLoach, ClickStartStylesheets for Online Help - Scott DeLoach, ClickStart
Stylesheets for Online Help - Scott DeLoach, ClickStartScott DeLoach
 
BEM it! Introduction to BEM methodology
BEM it! Introduction to BEM methodologyBEM it! Introduction to BEM methodology
BEM it! Introduction to BEM methodologyVarya Stepanova
 
Html basics 8 frame
Html basics 8 frameHtml basics 8 frame
Html basics 8 frameH K
 
Modules and Components Introduction in Joomla! 2.5
Modules and Components Introduction in Joomla! 2.5Modules and Components Introduction in Joomla! 2.5
Modules and Components Introduction in Joomla! 2.5Vishwash Gaur
 
Building websites-with-joomla-1-5-sample-chapter-chapter-7-the-menus-menu
Building websites-with-joomla-1-5-sample-chapter-chapter-7-the-menus-menuBuilding websites-with-joomla-1-5-sample-chapter-chapter-7-the-menus-menu
Building websites-with-joomla-1-5-sample-chapter-chapter-7-the-menus-menuGiang Nguyễn
 
WordPress as a Content Management System
WordPress as a Content Management SystemWordPress as a Content Management System
WordPress as a Content Management SystemValent Mustamin
 
Modifying your themes design - Learning CSS - Atlanta WordPress users group
Modifying your themes design - Learning CSS - Atlanta WordPress users groupModifying your themes design - Learning CSS - Atlanta WordPress users group
Modifying your themes design - Learning CSS - Atlanta WordPress users groupEvan Mullins
 

Semelhante a Joomla! Day UK 2009 Menus Presentation (20)

Css
CssCss
Css
 
Css 2c (2) (1) (1) (2)
Css 2c (2) (1) (1) (2)Css 2c (2) (1) (1) (2)
Css 2c (2) (1) (1) (2)
 
Accessible code-patterns
Accessible code-patternsAccessible code-patterns
Accessible code-patterns
 
DG Group - Active Or Passive Website
DG Group - Active Or Passive WebsiteDG Group - Active Or Passive Website
DG Group - Active Or Passive Website
 
Html structure
Html structureHtml structure
Html structure
 
Drupal Omega and Responsive Build out
Drupal Omega and Responsive Build outDrupal Omega and Responsive Build out
Drupal Omega and Responsive Build out
 
Twitter bootstrap on rails
Twitter bootstrap on railsTwitter bootstrap on rails
Twitter bootstrap on rails
 
CSS Disable Button - How to Disable Buttons Using CSS - Blogs
CSS Disable Button - How to Disable Buttons Using CSS - BlogsCSS Disable Button - How to Disable Buttons Using CSS - Blogs
CSS Disable Button - How to Disable Buttons Using CSS - Blogs
 
Supercharged HTML & CSS
Supercharged HTML & CSSSupercharged HTML & CSS
Supercharged HTML & CSS
 
Stylesheets for Online Help - Scott DeLoach, ClickStart
Stylesheets for Online Help - Scott DeLoach, ClickStartStylesheets for Online Help - Scott DeLoach, ClickStart
Stylesheets for Online Help - Scott DeLoach, ClickStart
 
BEM it! Introduction to BEM methodology
BEM it! Introduction to BEM methodologyBEM it! Introduction to BEM methodology
BEM it! Introduction to BEM methodology
 
Stole16
Stole16Stole16
Stole16
 
Css(handbook)
Css(handbook)Css(handbook)
Css(handbook)
 
Html basics 8 frame
Html basics 8 frameHtml basics 8 frame
Html basics 8 frame
 
Intro to CSS
Intro to CSSIntro to CSS
Intro to CSS
 
Modules and Components Introduction in Joomla! 2.5
Modules and Components Introduction in Joomla! 2.5Modules and Components Introduction in Joomla! 2.5
Modules and Components Introduction in Joomla! 2.5
 
Building websites-with-joomla-1-5-sample-chapter-chapter-7-the-menus-menu
Building websites-with-joomla-1-5-sample-chapter-chapter-7-the-menus-menuBuilding websites-with-joomla-1-5-sample-chapter-chapter-7-the-menus-menu
Building websites-with-joomla-1-5-sample-chapter-chapter-7-the-menus-menu
 
WordPress as a Content Management System
WordPress as a Content Management SystemWordPress as a Content Management System
WordPress as a Content Management System
 
Bootstrap [part 2]
Bootstrap [part 2]Bootstrap [part 2]
Bootstrap [part 2]
 
Modifying your themes design - Learning CSS - Atlanta WordPress users group
Modifying your themes design - Learning CSS - Atlanta WordPress users groupModifying your themes design - Learning CSS - Atlanta WordPress users group
Modifying your themes design - Learning CSS - Atlanta WordPress users group
 

Último

WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontologyjohnbeverley2021
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...apidays
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityWSO2
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 

Último (20)

WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 

Joomla! Day UK 2009 Menus Presentation

  • 2. Joomla! Day UK 2009 Menus and how to make them look cool Providing a flexible platform for digital publishing and collaboration. Chris Davenport Joomla! Core Team
  • 3. Choosing a template Choose primarily for layout Menus can usually be customised
  • 4. All kinds of menus All menus are just HTML unordered lists
  • 5.
  • 6.
  • 7. CSS Box Model Margin Padding Border Content box Bounding box
  • 8.
  • 10.
  • 12.
  • 13.
  • 14. Basic styling ul.menu a { display: block; width: 8.5em; font-size: 2em; text-decoration: none; margin-top: 10px; padding: 5px 5px 5px 15px; color: #2b3d91; background-color: #f0f0f0; }
  • 15. Web developer toolbar http://addons.mozilla.org/firefox/60/
  • 16.
  • 17. Roll-over effects: Example ul.menu a:hover { color: white; background-color: blue; } ul.menu a:link, ul.menu a:visited { color: blue; background-color: white; } ul.menu a:active { color: white; background-color: red; }
  • 18. Roll-over effects: Borders ul.menu a:link, ul.menu a:visited { padding: 0.2em 0.4em; border-left: 0.4em solid #2b3d91; color: #2b3d91; background: #f6f6ff; } ul.menu a:hover { border-left: 0.4em solid #aea; color: white; background: #369; } ul.menu a:active { border-left: 0.4em solid red; }
  • 19. Roll-over effects: submenus ul.menu li ul { position: absolute; width: 300px; left: -999em; } ul.menu li:hover ul { left: auto; margin-left: 352px; margin-top: -15px; } This shifts the sub-menu off the page This brings the sub-menu back onto the page Use margins to position the sub-menu http://www.alistapart.com/articles/dropdowns http://htmldog.com/articles/suckerfish/dropdowns/
  • 20. Joomla menu CSS <ul class=&quot;menu&quot;> <li id=&quot;current&quot; class=&quot;active item1&quot;> <li class=&quot;parent item27&quot;> <li class=&quot;item2&quot;> Sample data: Home page This menu item has an ItemID of 1. There can be only one current menu item so it has an id of “current” This menu item is the parent of at least one sub-menu so it has a class of “parent”.
  • 21. Joomla menu CSS <ul class=&quot;menu&quot;> <li class=&quot;item1&quot;> <li class=&quot;parent active item27&quot;> <ul> <li id=&quot;current&quot; class=&quot;active item34&quot;> Sample data: What's New in 1.5? page There can be many active menu items so they have a class of “active”
  • 22. Joomla menu item states ul.menu li#current a:link, ul.menu li#current a:visited, ul.menu li.active a:link, ul.menu li.active a:visited { color: #f0f0f0; background: #2b3d91; border-left: 0.4em solid #fe3; } ul.menu li#current a:hover, ul.menu li.active a:hover { border-left: 0.4em solid #aea; } Remember: there's only one current item But there can be more than one active item Sometimes you may need to change the hover colour for the current item
  • 23. Joomla menu CSS cascade /* Basic link styles - Joomla states */ ul.menu li#current a:link, ul.menu li#current a:visited, ul.menu li.active > a:link, ul.menu li.active > a:visited {} /* Basic menu styles */ ul.menu {} /* Hover states */ ul.menu a:hover, ul.menu li#current a:hover, ul.menu li.active a:hover {} /* Suckerfish - Hide/show sub-menus */ ul.menu li ul { position: absolute; left: -999em; } ul.menu li:hover ul { left: auto; margin-left: 342px; margin-top: -44px; } /* Basic link styles */ ul.menu a:link, ul.menu a:visited {} /* Styles for parent menus */ ul.menu li.parent {} /* Active states */ ul.menu a:active, ul.menu li#current a:active, ul.menu li.active a:active {}
  • 24. Background images ul.menu a:link, ul.menu a:visited { padding: 5px 5px 5px 25px; background: url(../images/arrow.png) no-repeat center left; } The path to the image is relative to the CSS file, not the template root Increase the left padding to allow room for the background image Use “center” to centre the image vertically
  • 25. Background images ul.menu a:link, ul.menu a:visited { margin-top: 10px; padding: 5px 5px 5px 25px; background: url(../images/button_0.png) no-repeat center left; color: white; } ul.menu a:hover { background: url(../images/button_1.png) no-repeat center left; }
  • 26.
  • 27. Joomla Menu Tag ID Module Manager -> Module: [Edit] <ul class=”menu” id=”main-menu”> Enter an id here and it will be added to the UL here Instead of ul.menu, use ul#main-menu
  • 28. Joomla Menu Class Suffix <ul class=”menu-main-menu”> Module Manager -> Module: [Edit] Enter a suffix here and it will be added to the UL here
  • 29. Joomla Menu Class Suffix Tip: If you enter a Menu Class Suffix with a leading space, you will get separate CSS classes in the UL. Tip: You can have as many classes in the UL as you like. <ul class=”menu main-menu”> <ul class=”menu main left rounded”>
  • 30.
  • 31. If you can't be bothered Check out the extensions site: http://extensions.joomla.org/extensions/core-enhancements/menu-systems
  • 33. Copyright and Licence Copyright © 2009 Chris Davenport This presentation is available for use under the Joomla! Electronic Documentation License http://docs.joomla.org/JEDL