css - 居中两个兄弟 div 之一

标签 css html center

在下文中,我想更改 CSS,使 right-sibling 真正位于 container div 的中心。 (编辑:不使用绝对定位)。

<html>
  <head>
    <style type='text/css'>
      #container {
        width: 500px;
      }
      #left-sibling {
        float: left;
      }
      #right-sibling {
        text-align: center;
      }
    </style>
  </head>
  <body>
    <div id='container'>
      <div id='left-sibling'>Spam</div>
      <div id='right-sibling'>Eggs</div>
    </div>
  </body>
</html>

在当前的实现中,右兄弟的居中受到左兄弟的影响——你可以通过将 display: none 添加到 left-sibling 来看到这一点风格。

(注意:我想避免修改 HTML 结构,因为据我了解,CSS 的全部意义在于将标签结构与表示逻辑分离,这似乎不是一个真正疯狂的要求供 CSS 处理。)

TIA。

最佳答案

我刚刚用来让它工作的一个技巧是在容器的左侧填充,我们可以通过给它一个相等但负的边距来鼓励左兄弟坐在这个空间内。

为了完成图片,我们还在容器右侧放置了与左侧同级宽度相等的内边距。

<html>
  <head>
      <style type='text/css'>      
        #container {
            width: 500px;
            padding-left:50px;
            padding-right:50px;     
            }      
        #left-sibling {
            border: solid 1px #000;
            float: left;
            width:50px;
            margin-left:-50px;  
        }      
        #right-sibling {
            border: solid 1px #000;
            text-align: center;

        }
        #container2 {
            width: 500px;   
            }  
</style>
  </head>
    <body>
        <div id='container'>      
            <div id='left-sibling'>Spam</div>
            <div id='right-sibling'>Eggs<br />Eggs<br />Eggs<br /></div>
        </div>
        <div id='container'> 
            <div id='left-sibling' style="display:none;">Spam</div>    
            <div id='right-sibling'>Eggs<br />Eggs<br />Eggs<br /></div>
        </div>
        <div id='container2'> 
            <div id='right-sibling'>Eggs<br />Eggs<br />Eggs<br /></div>
        </div>
      </body>
</html>

关于css - 居中两个兄弟 div 之一,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/343282/

相关文章:

css - 如何使标题图像居中

javascript - 哪个事件用于下拉菜单 - 悬停时子菜单关闭?

html - 按属性值分类的样式(第 n 个子项)

javascript - 使用 getElementById 检索 CSS 中的样式

html - 为什么当我将宽度添加到 css 列表时,列表变成垂直而不是水平

javascript - 如果设备在移动设备上,则更改 css

css - 如何让图像尊重它们的 div 边界?

html - 左侧 float 图像后垂直居中的文本

javascript - 以水平对齐方式显示表格数据

javascript - 滚动窗口上的动画菜单栏