Градиент - это достаточно простой способ сделать это с помощью CSS3 и только один div
:
http://jsfiddle.net/thirtydot/8wH2F/
Да, я солгал. Это совсем не просто из-за множества префиксных версий разных поставщиков, которые нужно использовать:
div {
background: #000fff; /* Old browsers */
background: -moz-linear-gradient(top, #000fff 0%, #000fff 50%, #ffff00 50%, #ffff00 100%); /* FF3.6+ */
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#000fff), color-stop(50%,#000fff), color-stop(50%,#ffff00), color-stop(100%,#ffff00)); /* Chrome,Safari4+ */
background: -webkit-linear-gradient(top, #000fff 0%,#000fff 50%,#ffff00 50%,#ffff00 100%); /* Chrome10+,Safari5.1+ */
background: -o-linear-gradient(top, #000fff 0%,#000fff 50%,#ffff00 50%,#ffff00 100%); /* Opera11.10+ */
background: -ms-linear-gradient(top, #000fff 0%,#000fff 50%,#ffff00 50%,#ffff00 100%); /* IE10+ */
background: linear-gradient(top, #000fff 0%,#000fff 50%,#ffff00 50%,#ffff00 100%); /* W3C */
}
Я сгенерировал CSS здесь и удалил свойство filter
, так как это приведет к фактическому градиенту в IE6-9.