I asked and had answered this question about a three-column-layout with a overhanging and floating logo here:
The answer turns out to be problematic though because CSS's "calc" feature is so unsupported, especially on mobile, causing the three columns to pile up to the left on smaller devices. So what might be an approach to solving this three-column layout problem without using calc?
HTML:
<body>
<div class="container">
<div class="topcontain cf">
<div class="topleft">testing left</div>
<div class="topcenter"><img class="" src="http://s3.postimg.org/4smfaxjtb/toutdemo.png"></div>
<div class="topright">testing right</div>
</div>
<div class="bodypart">
<div class="logo"><img src="http://s3.postimg.org/o974xgexb/demologo.png"></div>
<div class="bodycopy">
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Facere, voluptas, nobis consequatur natus odit incidunt doloribus ipsa cum commodi dolor nostrum id saepe illo harum provident explicabo pariatur autem. Quam.</p>
ETC...
</div>
</div>
</div>
</body>
...and the css:
.container {
text-align: center;
}
.topcontain {
width:80%
text-align:center;
/*overflow: hidden;*/
border:1px solid #f00;
height:75px;
position:relative;
}
.topcontain > div { -webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;}
.topleft {
/*margin:auto;*/
width:35%;
width: calc(50% - 128px); /*not working on mobile, safari*/
float:left;
border:1px solid #00f;
}
.topcenter {
width:256px;
float:left;
border:1px solid #0f0;
}
.topright {
float:right;
width:35%;
width: calc(50% - 128px); /*not working on mobile, safari*/
border:1px solid #ff0;
}
.bodycopy {
text-align:left;
}
.logo { clear: left; }
.cf:before,
.cf:after {
content: " "; /* 1 */
display: table; /* 2 */
}
.cf:after {
clear: both;
}
/**
* For IE 6/7 only
* Include this rule to trigger hasLayout and contain floats.
*/
.cf {
*zoom: 1;
}
Fiddle here: http://jsfiddle.net/Znz2P/10/