html - CSS:带图片和中间高度的三列布局

标签 html css layout

我想在高度上对齐两个侧边栏和一个居中图像。 此外,侧边栏(包含文本)应垂直对齐外容器的高度。

我做了一个描述问题的 fiddle : http://jsfiddle.net/SW3DT/

当全屏显示此示例时,您会看到一切正确,但当您查看 fiddle html 预览(或任何较小的 View )时,它不再起作用。

所以存在以下问题:

  1. 在旁边和中心容器水平对齐(position:absolute、左、右)
  2. 将子对象从旁边(在本例中为 p)垂直对齐(打破绝对)
  3. 所有这些都是动态执行的,以便它可以在不同的屏幕尺寸上使用

如何将这三个点放在一起,很难用 css 对其进行编码。

有没有人有解决办法?

此外: 我如何为此类任务定义可重用的 css 类?

最好的问候, 总线

最佳答案

如果我没有正确理解你的问题,你有点想要一个三列的居中包装,左列和右列占据 200 像素的宽度。如果是这种情况:

查看此 Fiddle Example

HTML:

<div class="content">
    <aside class="column right">
        <p>
             text...
        </p>
    </aside>
    <aside class="column left">
        <p>
             text...
        </p>
    </aside>
    <div class="column center">
        <img class="home_image" src="path_to_image.png" />
    </div>
</div>

CSS:

/* the main wrapper */
.content {
  position: absolute; top: 50%; left: 50%;
  width: 800px; height: 500px;
  margin-left: -401px; margin-top: -251px;
  border: 1px solid #D9D9D9;
}

/* columns */
.column {
    position: absolute; top: 0; bottom: 0;
    width: 180px;
    padding: 10px;
}

.column.left{
    left: 0; background-color: #F2F2F2;
}
.column.right {
    right: 0; background-color: #F2F2F2;
}
.column.center {
    left: 200px; right: 200px;
    text-align: center;
    width: auto;
}

.column.center img {
    border: 1px solid #111; border-radius: 22px;
    width: 128px; height: 128px;
    margin: 0 auto;
}

此外:我如何为此类任务定义可重用的 css 类?

可以看到应用于.left.right.center.column类> 元素,因此在所有三个元素上重复使用。

关于html - CSS:带图片和中间高度的三列布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10588271/

相关文章:

javascript - setTimeout() 函数运行无延迟

Javascript传递

android - 如何在 android xml 布局中将 9 个按钮放在 3 行中?

ios - 如何更改tableCell 的imageView 的frame?

javascript - 用纯js改变 parent 的风格

css - 如何设置 jquery ui Dialog minwidth 但如果可能的话让它变大?

javascript - 在导入的文件中无法通过 id 找到模板

jquery - 导航左侧不必要的空间

javascript - 在打印屏幕 AngularJS 顶部获取空白

html - 文本溢出 : ellipsis doesn't work after line break in Internet Explorer