Although CSS is generally considered a simple and straightforward language, sometimes it requires creativity, skill and a bit of experimentation. The good news is that designers and developers worldwide often face similar problems and choose to share their insights and workarounds with the wider community.
This is where we come in. We are always looking to collect such articles for our posts so that we can deliver the most useful and relevant content to our readers. In this post, we present an overview of useful CSS/jQuery coding tips, tricks and techniques for visual effects, layouts and web form design to help you find solutions to the problems you are dealing with or will have to deal with in future.
You may want to look at similar CSS-related posts that we published last months:
- 5 Useful Coding Solutions For Designers And Developers3
CSS Layouts: Techniques And Workarounds Link
Quick Tip – Resizing Images Based On Browser Window Size11
In fluid layouts, formatting text to adjust smoothly to window size is easy, but images are not as fluid-friendly. This quick tip shows how to switch between two image sizes based on the size of the browser, the DIV or whatever else you choose.
One Page Résumé Site13
A clean layout on one page—literally (just one index.html file with optional images). It comes with contact information in microformats and a main area for the resume using a definition list (
dl). And it prints well.
Pegs: Automate Display: fixed++15
Chris Wetherell posts on Pegs, a strategy for having one scroll bar but independent scrolling areas. After the first one, click on the other items to flip between sizes. You will see that an area’s scroll depends on the configuration.
CSS Trick for a Scrolling Transparent Background Effect
Scroll the page to watch a battle between good and evil take shape. The effect requires two images: one transparent and one tiled gradient image. The gradient scrolls under the transparent PNG. Because it matches the colors in the PNG, each set of images disappears, depending on the part of the gradient they’re on top of.
Scroll/Follow Sidebar, Multiple Techniques22
Vertical Centering With CSS24
There are a few different ways to vertically center objects using CSS, but choosing the right one can be difficult. Here is a list of the best ways and an explanation of how to create a nice centered website.
Create YouTube-like adaptable view using CSS and jQuery26
Other than the “Turn off the lights” feature, YouTube has great stuff, such as the “change view” feature, which allows you to switch between normal and wide mode, thus expanding or shrinking the video area. Creating this is very simple.
How To Create a Horizontally Scrolling Site28
If websites were made of wood, the grain would run up and down. Vertical is the natural flow of the Web. But browsers are equipped with vertical and horizontal scroll bars, right? We have the choice to go against the grain and create web pages that scroll primarily horizontally and that even expand horizontally to accommodate more content. Perhaps a slight blow to usability, but a cool creative touch nonetheless!
Create Sidebars of Equal Height with Faux Columns32
CSS can be tricky business. Creating columns of equal height, where the content in one column is longer than the content in another, is frustrating. Here’s where the faux-column technique can help. Find out how this solution makes even the most complicated layout a breeze to code.
Quick Tip: Centered Fake Floats
There were ways to center-align left-floated elements, but then
inline-block became popular and everything changed. After a bit of tinkering, Zaharenia Atzitzikaki found an efficient and (mostly) cross-browser-compatible way to center elements without floats.
6 Flexible jQuery Plugins to Control Web Page Layouts Easily35
A collection of six jQuery plug-ins to manage page layouts easily.
Four Methods to Create Equal-Height Columns37
This article discusses ways to create equal-height columns that work in all major browsers (including IE6). All of the methods show how to create a three-column layout.
A Nice Little CSS Positioning Technique
Here, we have a basic unordered list (
ul), with left-floated images where the text doesn’t wrap under the images. Of course, this technique could be deployed in loads of other instances.
Smart Columns With CSS and jQuery43
In observing liquid-width websites, Soh Tanaka sees two common techniques for displaying columns: fixed columns and liquid columns. He points out the drawbacks of both and pitches his solution.
Images And Visual Effects With CSS Link
A Beautiful Apple-Style Slideshow Gallery With CSS and jQuery45
Create an Apple-like slideshow gallery, similar to the one used on Apple’s website to showcase products. It works entirely in the front end; no PHP or databases required.
Rolling a coke can around with pure CSS47
Román Cortés is having a lot of fun doing CSS tricks these days. He just built a rolling coke can that uses
background-position and a few other tricks to achieve the effect. No fancy CSS3 needed here!
Grayscale Hover Effect With CSS and jQuery49
A few months ago, James Padolsey introduced a cool grayscale technique for non-IE browsers. His technique inspired Soh Tanaka to come up with a workaround with a similar effect. His solution relies on CSS Sprites and a few lines of jQuery, but it requires a bit of preparation before implementation. It is not recommended for large-scale projects; it is probably best for portfolio pieces.
3 Easy and Fast CSS Techniques for Faux Image Cropping51
This article summarizes three fast and easy CSS techniques for displaying only a portion of an image. All of the techniques need only a couple of lines of CSS. You are not literally cropping, which is why it’s called faux image cropping. These techniques can be helpful if you want to keep images to a certain size (for example, thumbnails in a news section). Being able to use CSS to control which portion of an image to display is great.
Image Rollover Borders That Do Not Change Layout53
With CSS, the border of any block-level element is factored into the element’s size in the layout. So, if you add a border to an element on hover, the layout will shift. In this post, you will find how to use the regular border property and create inner borders to get around that.
Bokeh effects with CSS3 and jQuery59
This tutorial teaches you how to re-create the bokeh effect with CSS 3. With some help from jQuery, we can add some randomness in colour, size and position for the effect.
A Stationary Logo That Changes on Page Scroll with CSS 61
Here is an interesting effect that modifies the logo when the page is scrolled, using the CSS
To achieve the effect in the image above, first we need a DIV with the silhouettes as a background image. Then we put four images in that DIV, all the exact same size, with each band member highlighted. These images are hidden by default. Then you absolutely position four regions on top of the DIV; these are the roll-over link areas. With jQuery, we apply hover events to them, fading in the appropriate image.
Creating Triangles in CSS (the link was removed due to possible malware)
Few people realize that a browser draws borders at angles. This technique takes advantage of that. One side of the border is given the color of the arrow, and the rest are transparent. Then you give the border a large width; the ones above are 20 pixels.
A parallax optical illusion with CSS: The Horse in Motion66
Time for some fun with CSS and optical illusions.
Pure CSS Line Graph68
The idea here is not only to offer data visualization to people who aren’t comfortable using scripting languages, but to demonstrate the power of CSS and offer a different way of using CSS. If you are not a fan of line graphs and data visualization, you may still benefit from this article. Think of it as a CSS experiment, and learn a thing or two about CSS Sprites and positioning.
Create Resizing Thumbnails Using Overflow Property72
This tutorial teaches you how to control thumbnail sizes. Sometimes we don’t have enough space to fit large thumbnails, and yet we would rather avoid small indecipherable images. Using this trick, we can limit the default dimensions of thumbnails and show them at full size when the user mouses over them.
Cross-browser drop shadows using pure CSS
Most methods of adding drop-shadows to content blocks require additional HTML mark-up and one or more PNG images. But by combining the Glow and Shadow filters, something that fairly closely resembles the rendered CSS3 shadow can be achieved.
Date Badges and Comment Bubbles for Your Blog74
One of the things you have to deal with when your blog grows is having to cram more info into less space to show everything you want to show. One thing you can do is add an icon for the date and then a bubble over it with the number of comments for that post.
CSS Tables And Web Forms Link
Tables: Not As Evil As You Think78
Perfect Drop-Down Log-In Box Like Twitter Using jQuery
This shows you how to create a Twitter-style drop-down log-in form using jQuery. It’s really easy, it saves space on the page and visitors feel comfortable with the awesome toggle form.
Make a Select’s Options Printable80
When printing a Web page with
select elements on it, the select drop-down prints just as it looks on the Web. This of course is practically useless on the printed page. One option for handling this is to follow every
select HTML element with an unordered list that duplicates the content. Hide the unordered list in your main CSS file and reveal it with your print style sheet. This is a reasonable approach, except that it’s a big ol’ pain in the butt to deal with all the time. Let’s rely on jQuery to do the heavy lifting instead.
Twitter-Like Log-In With jQuery and CSS82
show() events and a little CSS.
Have a Field Day with HTML5 Forms88
Here is a look at how to style a beautiful HTML5 form using some advanced CSS and the latest CSS3 techniques. You will definitely want to re-style your forms after having read this article.
How to Mask Passwords Like the iPhone92
Make Web Forms Suck Less With Labels94
We’ve been filling out Web forms for years, and we all gripe that they could be better. Even with generous padding, the fields are too small. But hardly anyone has improved the most under-rated interaction of them all: checkboxes and radio buttons.
FancyForm is a powerful and flexible checkbox-replacement script that changes the appearance and function of HTML form elements. It is accessible and easy to use, and it degrades gracefully on older non-supported browsers.
Disabled labels and the Trilemma plug-in
The form above on the left makes use of the
disabled attribute, but the default browser settings for
disabled inputs don’t contrast as much as one would like. To better distinguish at a glance between which inputs are disabled and enabled, the labels of disabled inputs in the form on the right are styled with a faint gray color.
Fluid Search Box100
Creating a fluid search box when you have only a single element next to it is trivial. What you should do is wrap the input in an element and use padding to create space for the fixed element; then position the fixed element absolutely (or relatively) in the space created by the padding.
Last Click Link
(kk) (jb) (vf) (al)
- 3 https://www.smashingmagazine.com/2009/11/23/6-useful-coding-solutions-for-designers-and-developers/
- 4 http://www.sohtanaka.com/web-design/facebook-style-footer-admin-panel-part-1/
- 5 http://www.sohtanaka.com/web-design/facebook-style-footer-admin-panel-part-2/
- 6 http://www.sohtanaka.com/web-design/facebook-style-footer-admin-panel-part-1/
- 7 http://www.jankoatwarpspeed.com/post/2009/07/07/Adaptable-view.aspx
- 8 http://www.jankoatwarpspeed.com/post/2009/07/07/Adaptable-view.aspx
- 9 http://designm.ag/tutorials/jquery-display-switch/
- 10 http://designm.ag/tutorials/jquery-display-switch/
- 11 http://buildinternet.com/2009/07/quick-tip-resizing-images-based-on-browser-window-size/
- 12 http://buildinternet.com/2009/07/quick-tip-resizing-images-based-on-browser-window-size/
- 13 http://css-tricks.com/one-page-resume-site/
- 14 http://css-tricks.com/one-page-resume-site/
- 15 http://ajaxian.com/archives/pegs-automate-display-fixed
- 16 http://ajaxian.com/archives/pegs-automate-display-fixed
- 17 http://www.tutwow.com/tips/quick-tip-css-100-height/
- 18 http://www.tutwow.com/tips/quick-tip-css-100-height/
- 19 http://www.webdesignerwall.com/demo/css3-dropdown-menu//
- 20 http://unstoppablerobotninja.com/entry/fluid-images/
- 21 http://unstoppablerobotninja.com/entry/fluid-images/
- 22 http://css-tricks.com/scrollfollow-sidebar/
- 23 http://css-tricks.com/scrollfollow-sidebar/
- 24 http://blog.themeforest.net/tutorials/vertical-centering-with-css/
- 25 http://blog.themeforest.net/tutorials/vertical-centering-with-css/
- 26 http://www.jankoatwarpspeed.com/post/2009/11/08/YouTube-adaptable-view-css-jquery.aspx
- 27 http://www.jankoatwarpspeed.com/post/2009/11/08/YouTube-adaptable-view-css-jquery.aspx
- 28 http://css-tricks.com/how-to-create-a-horizontally-scrolling-site/
- 29 http://css-tricks.com/how-to-create-a-horizontally-scrolling-site/
- 30 http://buildinternet.com/2009/10/purely-css-faking-minimum-margins/
- 31 http://buildinternet.com/2009/10/purely-css-faking-minimum-margins/
- 32 http://line25.com/articles/create-sidebars-of-equal-height-with-faux-columns
- 33 http://www.filamentgroup.com/lab/setting_equal_heights_with_jquery/
- 34 http://www.filamentgroup.com/lab/setting_equal_heights_with_jquery/
- 35 http://www.webresourcesdepot.com/6-flexible-jquery-plugins-to-control-webpage-layouts-easily/
- 36 http://www.webresourcesdepot.com/6-flexible-jquery-plugins-to-control-webpage-layouts-easily/
- 37 http://buildinternet.com/2009/07/four-methods-to-create-equal-height-columns/
- 38 http://buildinternet.com/2009/07/four-methods-to-create-equal-height-columns/
- 39 http://www.webdesignerwall.com/tutorials/how-to-css-large-background/
- 40 http://www.webdesignerwall.com/tutorials/how-to-css-large-background/
- 41 http://css-tricks.com/perfect-full-page-background-image/
- 42 http://css-tricks.com/perfect-full-page-background-image/
- 43 http://www.sohtanaka.com/web-design/smart-columns-w-css-jquery/
- 44 http://www.sohtanaka.com/web-design/smart-columns-w-css-jquery/
- 45 http://tutorialzine.com/2009/11/beautiful-apple-gallery-slideshow/
- 46 http://tutorialzine.com/2009/11/beautiful-apple-gallery-slideshow/
- 47 http://www.romancortes.com/blog/pure-css-coke-can/
- 48 http://www.romancortes.com/blog/pure-css-coke-can/
- 49 http://www.sohtanaka.com/web-design/greyscale-hover-effect-w-css-jquery/
- 50 http://www.sohtanaka.com/web-design/greyscale-hover-effect-w-css-jquery/
- 51 http://cssglobe.com/post/6089/3-easy-and-fast-css-techniques-for-faux-image
- 52 http://cssglobe.com/post/6089/3-easy-and-fast-css-techniques-for-faux-image
- 53 http://css-tricks.com/image-rollover-borders-that-do-not-change-layout/
- 54 http://css-tricks.com/image-rollover-borders-that-do-not-change-layout/
- 55 http://www.christinafowler.com/tutorial/horizontal-stripes
- 56 http://www.christinafowler.com/tutorial/horizontal-stripes
- 57 http://css-tricks.com/css-image-replacement/
- 58 http://css-tricks.com/css-image-replacement/
- 59 http://www.marcofolio.net/webdesign/pure_css3_bokeh_effect_with_some_jquery_help.html
- 60 http://www.marcofolio.net/webdesign/pure_css3_bokeh_effect_with_some_jquery_help.html
- 61 http://www.impressivewebs.com/stationary-logo-changes-page-scroll-css/
- 62 http://www.impressivewebs.com/stationary-logo-changes-page-scroll-css/
- 63 http://css-tricks.com/silhouette-fadeins/
- 64 http://css-tricks.com/silhouette-fadeins/
- 65 http://www.dinnermint.org/css/creating-triangles-in-css/
- 66 http://www.marcofolio.net/css/a_parallax_illusion_with_css_the_horse_in_motion.html
- 67 http://www.marcofolio.net/css/a_parallax_illusion_with_css_the_horse_in_motion.html
- 68 http://cssglobe.com/post/4175/pure-css-line-graph
- 69 http://cssglobe.com/post/4175/pure-css-line-graph
- 70 http://www.9lessons.info/2009/10/zooming-with-jquery-and-css.html
- 71 http://www.9lessons.info/2009/10/zooming-with-jquery-and-css.html
- 72 http://cssglobe.com/post/1305/create-resizing-thumbnails-using-overflow-property
- 73 http://cssglobe.com/post/1305/create-resizing-thumbnails-using-overflow-property
- 74 http://css-tricks.com/date-badges-and-comment-bubbles-for-your-blog/
- 75 http://css-tricks.com/date-badges-and-comment-bubbles-for-your-blog/
- 76 http://cssglobe.com/post/6984/ux-trick-display-form-data-as-tabular-data
- 77 http://cssglobe.com/post/6984/ux-trick-display-form-data-as-tabular-data
- 78 http://www.zurb.com/article/206/tables-not-as-evil-as-you-think
- 79 http://www.zurb.com/article/206/tables-not-as-evil-as-you-think
- 80 http://css-tricks.com/making-selects-printable/
- 81 http://css-tricks.com/making-selects-printable/
- 82 http://www.9lessons.info/2009/12/twitter-like-login-with-jquery-and-css.html
- 83 http://www.9lessons.info/2009/12/twitter-like-login-with-jquery-and-css.html
- 84 http://woork.blogspot.com/2008/06/clean-and-pure-css-form-design.html
- 85 http://woork.blogspot.com/2008/06/clean-and-pure-css-form-design.html
- 86 http://cssglobe.com/post/6295/cssg-collection-free-comment-styles
- 87 http://cssglobe.com/post/6295/cssg-collection-free-comment-styles
- 88 http://24ways.org/2009/have-a-field-day-with-html5-forms
- 89 http://24ways.org/2009/have-a-field-day-with-html5-forms
- 90 http://css-tricks.com/editable-invoice-v2/
- 91 http://css-tricks.com/editable-invoice-v2/
- 92 http://www.zurb.com/article/279/how-to-mask-passwords-like-the-iphone
- 93 http://www.zurb.com/article/279/how-to-mask-passwords-like-the-iphone
- 94 http://www.zurb.com/article/195/make-web-forms-suck-less-with-labels
- 95 http://www.zurb.com/article/195/make-web-forms-suck-less-with-labels
- 96 http://lipidity.com/fancy-form/
- 97 http://lipidity.com/fancy-form/
- 98 http://widowmaker.kiev.ua/checkbox/
- 99 http://widowmaker.kiev.ua/checkbox/
- 100 http://friedcellcollective.net/outbreak/2009/10/04/fluid-searchbox/
- 101 http://stewdio.org/pong/
- 102 http://stewdio.org/pong/
Hold on tiger! Thank you for reading the article. Did you know that we also publish printed books and run friendly conferences – crafted for pros like you? Like SmashingConf Oxford, on March 15—16, with smart design patterns and front-end techniques.