Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
CSS水平居中一个div_Css_Html_Layout - Fatal编程技术网

CSS水平居中一个div

CSS水平居中一个div,css,html,layout,Css,Html,Layout,我有一个非常简单的布局,我试图在CSS中实现,但我没有任何运气。我要做的就是(水平)将包含链接的div居中div的大小应基于其内容的大小 我尝试了一系列自动边距、文本对齐和显示类型的组合,但似乎无法理解(我是一个CSS noob)。我已经准备好了一个非常简单的案例(也是我能做的最好的) HTML: 我也发了一封信。如果没有复杂的HTML/CSS/hacks,这种类型的布局可能吗?为什么不将样式应用于锚标记本身; 这个怎么样: #container { text-align:center

我有一个非常简单的布局,我试图在CSS中实现,但我没有任何运气。我要做的就是(水平)将包含链接的div居中div的大小应基于其内容的大小

我尝试了一系列自动边距、文本对齐和显示类型的组合,但似乎无法理解(我是一个CSS noob)。我已经准备好了一个非常简单的案例(也是我能做的最好的)

HTML:


我也发了一封信。如果没有复杂的HTML/CSS/hacks,这种类型的布局可能吗?

为什么不将样式应用于锚标记本身;

这个怎么样:

#container
{
    text-align:center;
}
.myDiv
{
    background:lightblue;
    display:inline;
}

.myDiv a
{
     text-decoration:none;
}
以及:


查看此JFiddle:

您只需执行以下操作:

.myDiv
  {
   display:table;
   margin:auto;
  }

查看演示

将您的magins更改为margin:0 40%;这对演示非常有用。自动边距仅在给定div宽度的特定值时才起作用。你可以将你的风格应用到锚定标签本身。不,这不是重复的,请阅读问题。这是重复的,大约100倍以上。你在下面看到的是一片平坦的土地。@isherwood你是对的,这是一个重复的问题,我也投票决定结束它。我对CSS完全陌生,所以我感到困惑,并认为由于某些原因,案例有所不同。我的坏-见上面的新url啊,好的ol'表来营救!这是可行的,但我认为这是最后的办法。通常不需要使div像表一样工作。无论如何,要做到这一点,您仍然需要更改div的显示。。。。。这避免了任何类似父级的显示:内联块需要的样式,因为a上的剪裁:内联块修复了:
.myDiv {
    text-align:center;
}
.myDiv a {
    text-decoration:none;
    background:lightblue;
    padding: 5px;
}
#container
{
    text-align:center;
}
.myDiv
{
    background:lightblue;
    display:inline;
}

.myDiv a
{
     text-decoration:none;
}
<body>
    <div id="container">
        <div class="myDiv">
            <a href="google.com">google.com</a>
        </div>
    </div>
</body>
.myDiv
  {
   display:table;
   margin:auto;
  }