CodePen

HTML

            
              <div class="wrap">
  	<div class="header"><span>Todo List</span></div>
		<div class="wrap-list">
			<ol class="list">
				<li>
					<input type="checkbox" id="check-1" checked="checked">
					<label for="check-1">Shop</label>
				</li>
				<li>
					<input type="checkbox" id="check-2">
					<label for="check-2">Practice</label>
				</li>
				<li>
					<input type="checkbox" id="check-3">
					<label for="check-3">Sleep</label>
				</li>
				<li>
					<input type="checkbox" id="check-4">
					<label for="check-4">Enjoy life</label>
				</li>
				<li>
					<input type="checkbox" id="check-5" checked="checked">
					<label for="check-5">Do something</label>
				</li>
			</ol>
		</div>
	</div>
            
          
!

↑ Insert the most common viewport meta tag

CSS

            
              *{
  margin: 0;
  padding: 0;
  outline: none;
  border: none;
	box-sizing: border-box;
}
*:before,
*:after{
	box-sizing: border-box;	
}
html,body{
	min-height: 100%;
}
body{
	background-image: radial-gradient(mintcream 0%, gray 100%);
	font-family: "Trebuchet MS";
  user-select: none;
}
.wrap{
	width: 300px;
	height: 350px;
	margin: 50px auto;
	border-radius: 20px;
	border: solid 8px #2c3033;
	background: white;
	box-shadow: 0 0 0px 1px rgba(255,255,255,.4),
						0 0 0px 3px #2c3033;
}
.header{
	width: 100%;
	height: 50px;

	border-radius: 10px 10px 0 0px;
	background-image: linear-gradient(#687480 0%, #3b4755 100%);
	font: bold 18px/50px arial;
	text-align: center;
	color: white;
	box-shadow: inset 0 -2px 3px 2px rgba(0,0,0,.4),
						0 2px 2px 2px rgba(0,0,0,.4);
}
span{
	display: block;
	width: 100%;
	height: 90%;
	border-bottom: dashed 2px #54687a;
}
.wrap-list{
	height: 85%;
	padding: 20px 0px;
	box-shadow: inset 0 0px 5px black;
	border-radius: 0 0 10px 10px;
	background-image: linear-gradient(transparent 97%, gray 100%);
}

input[type="checkbox"]{
  position: relative;
  top: 14px;
  right: 12px;
	float: right;
}
input[type="checkbox"]:checked + label{
	text-decoration: line-through;
	color: rgba(0,0,0,.3);
}
.list{
	list-style: none;
	color: rgba(0,0,0,.7);
}
.list li:nth-child(odd){
	background: rgba(0,0,50,.1);
}
.list li{
	float: left;
	width: 100%;
}
label{
  padding: 10px;
	cursor: pointer;
	float: left;
	width: 95%;
	transition: all .3s ease;
}
            
          
!
? ?
? ?
Must be a valid URL.
+ add another resource
via CSS Lint

JS

            
              /*
CSS3 Todo List

full view: http://codepen.io/ImBobby/full/EdALB

insprired from : 
http://designshack.net/design/notepad-to-do-list-psd

UPDATE!
23/09/2012: remove padding property from li and add it to label instead. thanks to : Kyle Smith (http://codepen.io/Etro)

24/09/2012: adding user-select: none to the body. to prevent select issue. 
*/
            
          
!
Must be a valid URL.
+ add another resource
via JS Hint
Loading ..................