How to Create Boxes with Rounded Corners in CSS

  • google plus

In Brief...

Prior to browser support for CSS3, creating boxes with rounded corners required the creative use of background images, borders, and positioning. Thankfully, these days are gone. Today, browsers support CSS3 and its border-radius properties. The border-radius properties makes rounding the corners on a box easy.

Take our Advanced CSS Training course for free.

See the Course Outline and Register

Instructions

  1. Start with an HTML page containing two boxes.
  2. 
    <!DOCTYPE HTML>
    <html>
    <head>
    <meta charset="UTF-8">
    <link rel="stylesheet" type="text/css" href="../reset-meyer.css">
    <style type="text/css">
    body {
    	margin:10px;
    	font-family:"Trebuchet MS", Arial, Helvetica, sans-serif
    }
    
    #box1, #box2{
    	width:200px;
    	height:200px;
    	margin:10px;
    	padding:10px;
    }
    
    #box1 {
    	background:#c00;
    }
    
    #box2 {
    	background:#ff0;
    }
    
    h2, p  {
    	padding:5px;
    }
    
    #box1 p, #box2 p {
    	white-space:pre;
    	font-size:smaller;
    	font-family:monospace;
    }
    </style>
    <title>Rounded Corner Boxes</title>
    </head>
    <body>
    <div id="box1">
    	<h2>Example 1</h2>
    </div>
    <div id="box2">
    	<h2>Example 2</h2>
    </div>
    </body>
    </html>
    	
    If you open this page in a browser, it looks like this:
    sharp corner boxes
  3. The border-radius properties work by curving the corner according to a circle with its center offset from the corner of the box by the distance you specify. To create a simple box with rounded corners, add the border-radius property to box1.
    
    #box1 {
    	background: #c00;
    	border-radius: 25px;
    }
    
    The border-radius property is a shorthand property that sets the radius for all four corners of the box to the same value when given only one value.
  4. To change the roundness of the corners to different values, you can set more than one value, with the values separated by spaces. The first value represets the top left corner, the second value represents the top right corner, the third value represents the bottom right corner, and the fourth value represents the bottom left corner. Add the following border-radius to box2.
    
    #box 2 {
    	background: #ff0;
    	border-radius: 10px 140px 30px 140px;
    }
    
  5. Open the HTML page in a browser. The two boxes should look like this:
    rounded corners

Author: Chris Minnick

Chris is a prolific author and trainer, and the CEO of WatzThis?. His published books include Writing Computer Code, JavaScript for Kids, Coding with JavaScript For Dummies, Beginning HTML5 and CSS3 For Dummies, Webkit For Dummies, CIW eCommerce Certification Bible, and New Riders' XHTML.

Discuss