Website blogs and magazine layouts are very popular amongst CMS users. WordPress in particular has drawn a niche for building magazines online. This is a key tipping point for publishers who may be interested in launching their own magazine, but without the overhead costs of publishing and distribution.
I want to use this showcase as an example of inspiring magazines on the web. Design inspiration can be found everywhere, but magazine layouts are not as easy to pick up. There are so many moving pieces that it requires a good sense of what your readers will be looking for in a typical layout. Dig through my showcase and see if you can pinpoint recurring themes in these general magazine-style website layouts. These design examples are very inspiring and perfect for applied critical thinking in regards to your own online magazine.
It is very common to find dropdown navigation elements within website layouts. Developers use these types of hidden menus for displaying extra links which are typically related to the main topic. Other examples may use sliding panels or varying accordion-style menus to accomplish the same interface.
But for this tutorial I want to build a simple jQuery-powered dropdown menu. This can work well using the animate method for generating delayed effects. Along with the typical JS codes I have also worked some CSS3 transition effects into the stylesheet. Any webmaster who can edit these codes will surely find use in a pre-built customized navbar solution.
First we need to create the basic HTML5 template which is used in most of my tutorials. We need the latest version of jQuery hosted from Google’s web API. Also I have added my own stylesheet named styles.css which we can go over quickly.
lt;!doctype html> Horizontal Dropdown Navigation Bar Demo
Now the real meat of our content is handled by an unordered list at the top of the page. I have wrapped all the list items inside an HTML5 element for more SEO benefits. Additionally the final wrapper div is what keeps everything centered on the page instead of fixed at 100% width. Here is my sample menu code:
The code isn’t too scary at all. Each of the list items will trigger when we hover inside and display the highlighted effect, followed by our dropdown animation. All of the internal UL elements are contained inside the original list item. This way we do not lose focus after hovering the mouse over a new dropdown menu.
All of my stylesheet documents contain important browser resets as default properties. Many developers like to include the direct file of Eric Meyer’s resets but this can get a bit messy. Also he may not keep that document saved in the same spot on his server, so hotlinking is generally a bad idea. Here are my custom resets with a few extra properties.
One slightly interesting note is with the -webkit-font-smoothing property. This handles anti aliasing on all fonts when running a Mac OS X or iOS browser. Now moving onto the navigation menu I have added codes for handling all the hover effects and fixing list item displays. We need to have all the anchor links floating left and using a full pixel value with line-height.
Adding the selector #ddmenu ul targets all the internal ul elements inside each list item. I find this important because each of them requires a specific distance from the container using absolute positioning. Now I have also added linear transitions onto all the anchor links which display on hover.
Moving onto the biggest and final piece is creating the top tooltip element in CSS3. This can be done using rotation properties and applying a universal border with a darker background for the shadow. By using an offset position one will appear on top of the other and looks blended perfectly into the dropdown menu.
If you like the styles try copying and pasting them into a code snippet for later. I always have difficulty locating good CSS3 arrows and these codes are fairly straightforward. It doesn’t even require extra HTML elements to get this displaying properly.
Now we do have the option of choosing CSS3 by taking advantage and using transition dropdown menus. But I feel this is actually too “flat” in comparison with JavaScript and more specifically, jQuery animations. Plus consider the fact that CSS3 animations will only work in newer browsers and it seems like JavaScript is our best option.
I have created a new script block of code down at the very bottom of our page body. The first section is checking for any clicks on the anchor links to stop them from loading into the URL. Since none of the HREF values go anywhere this is a common practice with tutorial demos.
Now the 2nd chunk of code is where all the magic happens. We attach an event listener for whenever the user hovers over a list item. This will automatically stop any other animation in progress and display the new sub-menu by using .slideDown(). There is also a slight delay on the slideup effect to make sure the user is really done accessing the links. This can be accomplished by using the JavaScript setTimeout() method.
There are plenty of existing tutorials surrounding dropdown menus, but very few are offering creative animated systems. You should check out my live demo example and see how this design will behave in a real webpage. Also keep in mind that you can restyle any of the links to work with any color scheme or design interface.
Be sure and download a local copy of my source code files and toy around in your own time. This can provide a solid base for constructing a more developed navigation system. There is even room to append a 2nd or 3rd tier of links which flyout from the right or left side. Additionally feel free to share your own thoughts or questions in the post discussion area below.
2 FARM MANAGERS (REGISTERED VETERINARIAN)1615 Pilar Hidalgo Lim St., Malate, Manila Manila, Metro Manila For Manpower Pooling Only. No Fees shall be collected from the Applicant. "BEWARE OF ILLEGAL RECRUITERS"
1615 Pilar Hidalgo Lim St., Malate, Manila Manila, Metro Manilaat least Bachelor's / College Degree For Manpower Pooling Only. No Fees shall be collected from the Applicant. "BEWARE OF ILLEGAL RECRUITERS"
Mantrana Consulting Pvt Ltd. http://www.mantranaindia.com An Indo African group company having a T.O. of more than 50 million USD, specializing in production & selling of dairy products in African countries. Company is expanding its operations to other countries & also introducing new food product range.
Senior most position in Dept. Reporting to CEO & board, overseeing all daytoday activities like finance & Accounts, Government liasioning, Financial Management, Banking Transactions, Budgeting, MIS and commercial functions.
1615 Pilar Hidalgo Lim St., Malate, Manila Manila, Metro Manila For Manpower Pooling Only. No Fees shall be collected from the Applicant. "BEWARE OF ILLEGAL RECRUITERS"
Details to the job Core Optimization Engineer in Uganda: MSS, NSS, Core, E2E, MGW, Circuit, Optimization, Planning Core Optimization Engineer Candidates should have experience of; At least 12 years working with Ericsson core Monitoring of KPI and Action for improvement End To End Responsibility of NSS Elements and performance analysis. Implementation of New NSS Element into live network Blade Cluster knowledge in terms of Operations & Trouble shooting is must Define E2E Data Performance Measurement Strategy I look forward to hearing from interested candidates….Apply now!!
To see the complete job description and thousands of other senior-level jobs starting from $100,000, register at Experteer now for free.
dataLayer = [{"area":"b2c_logged_out,b2c_old_jobcatalog,b2c_landingpages","session_id":"fed918592073fb87076bf999b84faaa8","affiliate_group_label":"Experteer.US","country_version_name":"usa","affiliate_name":"us_experteer","job_id":"2001272","url_key":"signup_vertical","timestamp":"1361317464","app_type":"desktop_web","affiliate_id":10000}](function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= '//www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-QSFF');