当前位置: 首页 > 面试题库 >

CSS中心显示内联块?

家经纶
2023-03-14
问题内容

我在这里有一个有效的代码:(您可能需要将结果窗口放大以查看居中对齐效果)

该代码工作正常,但我不喜欢这样display:table;。这是使环绕类对齐中心的唯一方法。我认为,如果有一种使用方法display:block;或更好display: inline-block;。是否可以用其他方法解决对齐中心?

对我来说,向容器添加一个固定的不是一个选择。

如果将来JS Fiddle链接损坏,我还将在这里粘贴代码:

body {

    background: #bbb;

}



.wrap {

    background: #aaa;

    margin: 0 auto;

    display: table;

    overflow: hidden;

}



.sidebar {

    width: 200px;

    float: left;

    background: #eee;

}



.container {

    margin: 0 auto;

    background: #ddd;

    display: block;

    float: left;

    padding: 5px;

}



.box {

    background: #eee;

    border: 1px solid #ccc;

    padding: 10px;

    margin: 5px;

    float: left;

}



.box:nth-child(3n+1) {

    clear: left;

}


<div class="wrap">

    <div class="sidebar">

        Sidebar

    </div>

    <div class="container">

        <div class="box">

            Height1

        </div>

        <div class="box">

            Height2<br />

            Height2

        </div>

        <div class="box">

            Height3<br />

            Height3<br />

            Height3

        </div>

        <div class="box">

            Height1

        </div>

        <div class="box">

            Height2<br />

            Height2

        </div>

        <div class="box">

            Height3<br />

            Height3<br />

            Height3

        </div>

    </div>

    <div class="sidebar">

        Sidebar

    </div>

</div>

问题答案:

可接受的解决方案对我而言不起作用,因为我需要一个子元素display:inline-block在100%宽度的父级中水平和垂直居中。

我使用了Flexbox的justify-contentalign-items属性,分别允许您将元素水平和垂直居中。通过将两者都设置center为父元素,子元素(甚至多个元素!)将完美地位于中间。

此解决方案不需要固定的宽度,这对我来说不合适,因为我的按钮文本会更改。

这是CodePen演示和以下相关代码的片段:

.parent {

  display: flex;

  justify-content: center;

  align-items: center;

}



.child {

  display: inline-block;

}


<div class="parent">

  <a class="child" href="#0">Button</a>

</div>


 类似资料:
  • 问题内容: 我想了解当CSS是CSS元素的DOM子元素(因此block元素是inline元素的子元素)时会发生什么情况。 CSS 2.1规范的“ 匿名块框”部分描述了这种情况:该示例包括以下规则… …以及随附的文字说… BODY元素包含一个匿名文本块(C1),然后是一个块级元素,然后是另一个匿名文本块(C2)。结果框将是围绕BODY的匿名阻止框,其中包含C1周围的匿名阻止框,P阻止框和C2周围包含

  • 是否可以在CSS中使用内联SVG定义? 我的意思是:

  • 问题内容: 我与几个工作被设置为s ,并有一组和。在HTML中,如果在每行之后都有一个换行符,则会在div的右侧和底部自动添加5px的边距。 例: 是否有我忽略的属性可以让我重置自动保证金? 更新资料 从我发现的结果来看,没有任何方法可以消除空白…除非您将所有内容都放在同一行,或者添加注释以注释掉换行符。例: 这不是最佳的解决方案,但是如果您有多行代码,则仍然更易于阅读。 问题答案: div被视为

  • 问题内容: 有人可以帮我解决这个错误吗?使用Firefox可以正常工作,但是不能使用Internet Explorer 7。好像看不懂了。 HTML: CSS: 问题答案: IE7 黑客如下: 默认情况下,IE7仅支持自然元素(Quirksmode兼容性表),因此您仅需要针对其他元素进行破解。 是在那里触发行为的,我们使用star属性hack来仅将IE7及更低版本中的设置为(新的浏览器将不应用此功

  • 问题内容: 说我有以下代码 我希望它在IE8中显示内联。我到处阅读的所有内容都说这应该可行,IE8支持内联块。但是,经过一个上午的尝试,我无法获得上述排队。我知道我可以浮动它,但要使用页面上的其他元素(此处未显示),我需要使用一个“ clearfix”,其标记更多。我只需要针对IE8,很想知道为什么内联块对我显然不起作用,但对我来说却不起作用。在Google Chrome浏览器中,上面的代码可以实

  • 问题内容: 我正在处理一些设置为并具有和的。在HTML中,如果在每行之后都有一个换行符,则会在div的右侧和底部自动添加5px的边距。 例: 是否有我忽略的属性可以让我重置自动保证金? 更新资料 从我发现的结果来看,没有任何方法可以消除空白…除非您将所有内容都放在同一行,或者添加注释以注释掉换行符。例: 这不是最佳的解决方案,但是如果您有多行,它仍然更易于阅读。 问题答案: div被视为内联元素。