Reputation: 83
I am trying to divide my html page into two columns. One column is supposed to be filled by an image and other by text. I am facing below issues:
Columns not occupying the exact 50-50 width.
There is a thin margin from left before the image starts. Need to remove that margin.
There is a huge gap between the two columns.
It will be really helpful if someone can look at this code and suggest corrections:
.container img {
width: 100%;
}
.thin-black-border {
border-color: black;
border-width: 05px;
border-style: solid;
}
.header {
font: 200 80px'Oleo Script', Helvetica, sans-serif;
color: #2b2b2b;
text-shadow: 4px 4px 0px rgba(0, 0, 0, 0.1);
}
<link href='http://fonts.googleapis.com/css?family=Oleo+Script' rel='stylesheet' type='text/css'>
<div style="width:100%; height: 100px;background-color:green" class="bg-faded">
<!-- Main Div -->
<h1 class="text-center header">Madhubala</h1>
</div>
<div style="float:left;width:50%;" class="container">
<img src="https://nehamalude.files.wordpress.com/2011/02/madhubala.jpg" class="thin-black-border" />
</div>
<div style="float:left; width:50%; background-color:red; ">
Right
</div>
Upvotes: 7
Views: 20903
Reputation: 47
Add width = 100% to the image.
Use a css reset to remove the margins
/* http://meyerweb.com/eric/tools/css/reset/
v2.0 | 20110126
License: none (public domain)
*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
margin: 0;
padding: 0;
border: 0;
font-size: 100%;
font: inherit;
vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
display: block;
}
body {
line-height: 1;
}
ol, ul {
list-style: none;
}
blockquote, q {
quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
content: '';
content: none;
}
table {
border-collapse: collapse;
border-spacing: 0;
}
see jsfiddle: https://jsfiddle.net/ssohvr45/2/
Upvotes: 0
Reputation: 361
You can simply use table : Method 1:
<table border="1">
<tr>
<td>You can add content here</td>
<td>You can add content here</td>
</tr>
</table>
Method 2:
<div style="display:block; width:100%;">
<div style="width:50%; float: left; display: inline-block;">Your content</div>
<div style="width:50%; float: left; display: inline-block;">Your content</div>
</div>
Method 3 ( Using Flex ) :
<div class="flexbox-container" style="display:flex;">
<div class="sidebar" style="flex:1;">Test column 1</div>
<div class="main" style="flex:1;">Test column 2</div>
</div>
Upvotes: 13
Reputation: 10294
body{
margin: 0;
padding: 0;
}
.container img {
width: 100%;
}
.thin-black-border {
border-color: black;
border-width: 05px;
border-style: solid;
}
.header {
font: 200 80px'Oleo Script', Helvetica, sans-serif;
color: #2b2b2b;
text-shadow: 4px 4px 0px rgba(0, 0, 0, 0.1);
}
.main-wrap{
display: flex;
flex-direction: row;
}
.main-wrap > div{
flex: 1;
}
<link href='http://fonts.googleapis.com/css?family=Oleo+Script' rel='stylesheet' type='text/css'>
<div style="width:100%; height: 100px;background-color:green" class="bg-faded">
<!-- Main Div -->
<h1 class="text-center header">Madhubala</h1>
</div>
<div class="main-wrap">
<div class="container">
<img src="https://nehamalude.files.wordpress.com/2011/02/madhubala.jpg" class="thin-black-border" />
</div>
<div style="background-color:red; ">
Right
</div>
</div>
How about using display: flex
?
Upvotes: 4