如何在两列中划分html页面?

时间:2017-10-13 09:00:01

标签: html css

我想把我的html页面分成两列。一列应该由图像填充,而另一列则由文本填充。我面临以下问题:

  1. 列不占用50-50的宽度。

  2. 图像开始前左边有一个很小的边距。需要删除该边距。

  3. 两列之间存在巨大差距。

  4. 如果有人可以查看此代码并建议更正,那将非常有用:

    
    
    .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>
    &#13;
    &#13;
    &#13;

3 个答案:

答案 0 :(得分:4)

&#13;
&#13;
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;
}
&#13;
<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>
&#13;
&#13;
&#13;

如何使用display: flex

答案 1 :(得分:1)

你可以简单地使用表格: 方法1:

<table border="1">
  <tr>
    <td>You can add content here</td>
    <td>You can add content here</td>
  </tr>
</table>

方法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>

方法3(使用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>

答案 2 :(得分:0)

为图像添加宽度= 100%。

使用css reset删除边距

/* 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;
}

请参阅jsfiddle:https://jsfiddle.net/ssohvr45/2/