我应该为这个布局使用什么 html 和 css (考虑我不想使用浮动,并且想要使用显示)。

你可以有三个选择:
最好和最简单的方法是使用浮点数。
虽然我认为这种方法更有效,但它确实有效:
HTML:
<div class="left">
<div class="one">
</div>
<div class="two">
</div>
</div>
<div class="right">
</div>
CSS:
.left {
display: inline-block;
width: 320px;
height: 400px;
border: 1px solid blue;
}
.right {
display: inline-block;
width: 100px;
height: 300px;
background: red;
border: 1px solid green;
vertical-align: top;
}
.one, .two {
width: 300px;
height: 100px;
margin-bottom: 20px;
background: brown;
}