New Feature: Playlist Center! Pick a topic and let our playlists guide the way.

Easy-to-follow video tutorials help you learn software, creative, and business skills.Become a member

Borders

From: CSS Fundamentals

Video: Borders

Borders define the outside edge of elements and are usually used to apply a decorative effect to the specific elements. Element borders are usually defined by three properties: style, width, and color. Much like margins and padding, borders can be defined for the top, right, bottom and left sides individually, or defined for the entire element at the same time. Now, border syntax can sometimes be quite verbose, as you can specify width, style, and color for each individual side.

Borders

Borders define the outside edge of elements and are usually used to apply a decorative effect to the specific elements. Element borders are usually defined by three properties: style, width, and color. Much like margins and padding, borders can be defined for the top, right, bottom and left sides individually, or defined for the entire element at the same time. Now, border syntax can sometimes be quite verbose, as you can specify width, style, and color for each individual side.

Now because of this, authors typically use border shorthand notation that allows you to set all three border properties at the same time. The important thing to remember about borders is that they do affect the overall width of an element. Border widths begin at the edge of padding widths and then extend outward. It's easy to forget about a one-pixel border on an element, but this is often the culprit for breaking layouts or causing elements to shift unexpectedly. So when authoring CSS, be sure to account for border widths when planning layouts.

Now border width is pretty self- explanatory, but border styles and border colors deserve a closer look. Border styles can be set in one of ten values: none, hidden, dotted, dashed, solid, double, groove, ridge, inset, and outset. None and hidden are very similar, except for when tables come in the play, where there are some certain differences regarding when borders are drawn around table cells. Now solid, dotted, and dashed create a single flat line that's either solid, broken into dots, or broken into dashes.

Although support for border styles is almost complete in browsers, some older browsers don't support the dotted value, resulting in dashed lines when found. The remaining values--double, groove, ridge, inset, and outset--create dimensional line affects that often require width values greater than one. The border-color property allows you to define the color of the border independently of the color of the element's foreground and background. While most border style properties will display the color specified, a few of the 3D- like values, will actually use the color as a highlight value or not at all, depending upon browser implementation.

Most designers use borders for decorative effects, or as a way of providing visual separation between elements. Borders can also be used as a way of creating text rules between blocks of text, and as a way of replacing the default underlines under linked text. A relatively new addition to borders is the border-image property. This allows you to specify an image that will be sliced and then aligned with the elements' corners and repeated or stretched in the middle sections. The syntax is a bit too much to cover in a general overview, and browser support is just now starting to solidify, but this is definitely a technique that should be on your radar as a designer.

Before we move on, I also want to take a moment to discuss the difference between a border and an outline. The outline property has been a part of the CSS specification since CSS 2.0, but it's only very rarely discussed in tutorials. One of the biggest reasons for this is that unlike borders, outlines can only be set on the entire element, not the individual sides, like borders can. You can, however, set width, style, and color just like the border property. One other intriguing difference between borders and outlines is that outlines do not add to the total width of an element.

This rather odd behavior means that outlines will often overlap other elements when they come in contact with them; however, outlines can be set on elements without breaking layouts or causing other elements to shift, making them valuable in those situations. The biggest reason for authors ignoring the outline property, however, is its lack of broad support among browsers. Safari, Opera, and Chrome have supported it for some time, but Firefox's support is still a little bit buggy, and Internet Explorer has only recently supported it.

Still, it's worth mentioning, since it gives you an alternative to using the border property.

Show transcript

This video is part of

Image for CSS Fundamentals
CSS Fundamentals

36 video lessons · 66988 viewers

James Williamson
Author

 

Start learning today

Get unlimited access to all courses for just $25/month.

Become a member
Sometimes @lynda teaches me how to use a program and sometimes Lynda.com changes my life forever. @JosefShutter
@lynda lynda.com is an absolute life saver when it comes to learning todays software. Definitely recommend it! #higherlearning @Michael_Caraway
@lynda The best thing online! Your database of courses is great! To the mark and very helpful. Thanks! @ru22more
Got to create something yesterday I never thought I could do. #thanks @lynda @Ngventurella
I really do love @lynda as a learning platform. Never stop learning and developing, it’s probably our greatest gift as a species! @soundslikedavid
@lynda just subscribed to lynda.com all I can say its brilliant join now trust me @ButchSamurai
@lynda is an awesome resource. The membership is priceless if you take advantage of it. @diabetic_techie
One of the best decision I made this year. Buy a 1yr subscription to @lynda @cybercaptive
guys lynda.com (@lynda) is the best. So far I’ve learned Java, principles of OO programming, and now learning about MS project @lucasmitchell
Signed back up to @lynda dot com. I’ve missed it!! Proper geeking out right now! #timetolearn #geek @JayGodbold

Are you sure you want to delete this note?

No

Thanks for signing up.

We’ll send you a confirmation email shortly.


Sign up and receive emails about lynda.com and our online training library:

Here’s our privacy policy with more details about how we handle your information.

Keep up with news, tips, and latest courses with emails from lynda.com.

Sign up and receive emails about lynda.com and our online training library:

Here’s our privacy policy with more details about how we handle your information.

   
submit Lightbox submit clicked
Terms and conditions of use

We've updated our terms and conditions (now called terms of service).Go
Review and accept our updated terms of service.