CSS:我如何将两个元素放在彼此相邻的中心(内联块),只与其他元素共享一个容器?

CSS:我如何将两个元素放在彼此相邻的中心(内联块),只与其他元素共享一个容器?,css,userstyles,Css,Userstyles,我正在为一个网站创建一个用户样式,所以我不能更改任何HTML,只能更改纯CSS <div class="container"></div> <divs> <h2s> <uls> <forms> <h3></h3> <p></p> </div> 我想让h3和p彼此相邻,在容器的水平中心。所以,我给他们两个显示:内联块和文

我正在为一个网站创建一个用户样式,所以我不能更改任何HTML,只能更改纯CSS

<div class="container"></div>

   <divs>
   <h2s>
   <uls>
   <forms>
   <h3></h3>
   <p></p>

</div>

我想让h3和p彼此相邻,在容器的水平中心。所以,我给他们两个显示:内联块和文本对齐:中心。这使得它们彼此相邻,但不是水平居中。文本对齐:居中仅在应用于容器时有效,但这将使整个站点的其他元素的所有文本居中


我对CSS比较陌生,我一直在寻找一种方法来实现这一点,但没有结果。

试着将您的代码发布到一个页面中

据我所知,也许只在h3和p标签上添加一个边距就足够了

保证金:0自动


如果使用
显示:内联块
您不必使用任何
float
属性


我猜你的意思是
文本对齐:居中使它们水平居中。如果您希望它们垂直居中,可以使用
vertical align:middle

如果您可以添加一个新的div,您可以尝试

HTML

<div class = "container">
  <div class = "side_center">
    <h3>h3 element</h3>
    <p> p element </p>
    </div>
  </div>  
但是我建议您通过添加单独的类或ID来设置常用元素的样式,因为不这样做可能会影响页面中的其他h3和p标记。这是你的电话号码

新编辑

h3, p {
  display: inline-block;
}

.side_center {
  margin: 0px auto;
  display: table;
}  
h3 {
      text-align: center;
      margin-left: -253px;
  }  

 p {
     margin-top: -22px;
     margin-right: -189px;
     text-align: center;
  }  

PS:这与您的only有关。

我删除了float属性,但它仍然不起作用。我的意思是我希望他们水平居中。如果你能提供一个具体的例子,这将更容易帮助你解决问题。通过具体的例子,我的意思是发布完整的html和css:)完整的html就是这个网站。我为论坛元素制作的CSS是这样的:它是论坛的底部,谁在线,我想把它应用到下面的段落。我在CSS中为它设置的选择器是:.navbar.panel+h3和下一个。我试图在JSFIDLE中放置一个基本示例,但是display:inline block没有使h3和p彼此相邻。我试图在那里重新创建代码,但是display:inline block没有使它们彼此相邻。我甚至试着让它们向左浮动,但那也不起作用。你的保证金建议不起作用。D:你不能就这样把容器放在它周围吗?因为这将有助于你把元素放在中心;h3和p在那里不是相邻的。你的解决方案显然在JSFIDLE中工作,但是对于一些我找不到的原因,它不适用于网站D:这很奇怪,因为我使用了该网站的代码。。只是把它精简为只包含所需的元素。我不能添加元素,我在做用户风格。我只能尝试使用CSS。在这种情况下,您可以使用position:relative;左:x%;其中x是一个整数,并使用媒体查询调整各种分辨率。否则,您必须将容器div本身居中。您有一个未关闭的div标记。关闭它。我已经调整了你的网站,并把它们带到中心。请参见答案中我的新编辑部分。它将它们放在中心位置,但这并不实用,因为随着越来越多的用户浏览论坛,“p”变得越来越宽。然后,我建议您将它们文本对齐到中心位置,并将它们一个接一个地放置,而不是使事情变得复杂(因为您使用的是userstyle)。那看起来也不错P至少直到找到解决方案为止。