float를 사용하면 vertical-align: middle 이 안먹힙니다

java200의 이미지

File attachments: 
첨부파일 크기
Image icon 1.png7.12 KB
김정균의 이미지

#box 외부에 div를 하나 더 만드시고, float을 #box parent div에 주시면 되지 않을까 싶습니다.
아니면 http://inspiredjw.tistory.com/13 참조해 보시고요. table-cell로 인식 시켜서 하는 방법입니다.

익명 사용자의 이미지

display:table-cell로 만드는 건 간혹 의도하지 않은 결과를 가져오기도 합니다(table-cell의 성격이 좀 특이해서...).
수직 정렬은 line-height를 적절히 사용하면 구현할 수 있습니다.

http://jsfiddle.net/8e8dt/