Html 将较大的元素置于较小容器元素的中心

Html 将较大的元素置于较小容器元素的中心,html,css,Html,Css,如何使图像居中而不掩盖下面的段落位置:绝对或浮动:左侧都会导致问题 <p>This is the first paragraph</p> <p><img src="http://placekitten.com/600/280"/></p> <p>Paragraph 3</p> 我还要确保较大的img元素没有被父p标记overflow:hidden。我想看到完整的图像,即使它太大了 .如果需要保留固定宽度的段落,

如何使图像居中而不掩盖下面的段落<代码>位置:绝对或<代码>浮动:左侧都会导致问题

<p>This is the first paragraph</p>
<p><img src="http://placekitten.com/600/280"/></p>
<p>Paragraph 3</p>
我还要确保较大的img元素没有被父
p
标记
overflow:hidden
。我想看到完整的图像,即使它太大了


.

如果需要保留固定宽度的段落,可以使用以下方法将图像居中:

img {
    -webkit-transform:translateX(-50%);
       -moz-transform:translateX(-50%);
        -ms-transform:translateX(-50%);
         -o-transform:translateX(-50%);
            transform:translateX(-50%);
    margin-left:50%;
}

如果需要保持固定宽度段落,可以使用以下方法将图像居中:

img {
    -webkit-transform:translateX(-50%);
       -moz-transform:translateX(-50%);
        -ms-transform:translateX(-50%);
         -o-transform:translateX(-50%);
            transform:translateX(-50%);
    margin-left:50%;
}
使用Jquery

小提琴:

HTML:

JS:(jquery)

使用Jquery

小提琴:

HTML:

JS:(jquery)

你是说

我采取了不同的方法,希望能有所帮助。让我知道这是否适合你

<div class="container">
    <p>This is the first paragraph</p>
    <img src="http://placekitten.com/600/280"/>
    <p>Paragraph 3</p>
</div>

body {
    background-color: white;
}
.container {
    width:auto;
    margin:auto;
    background-color: #eee;
}
p { 
    padding: 1em; 
    margin: 0 auto;
    text-align: center; }

img {
    /* position: absolute; left: 0; */
    /* position: absolute; float: left; */
    display:block;
    margin:auto;
}

这是第一段

第3款

身体{ 背景色:白色; } .集装箱{ 宽度:自动; 保证金:自动; 背景色:#eee; } p{ 填充:1em; 保证金:0自动; 文本对齐:居中;} img{ /*位置:绝对;左侧:0*/ /*位置:绝对;浮动:左侧*/ 显示:块; 保证金:自动; }
你是说

我采取了不同的方法,希望能有所帮助。让我知道这是否适合你

<div class="container">
    <p>This is the first paragraph</p>
    <img src="http://placekitten.com/600/280"/>
    <p>Paragraph 3</p>
</div>

body {
    background-color: white;
}
.container {
    width:auto;
    margin:auto;
    background-color: #eee;
}
p { 
    padding: 1em; 
    margin: 0 auto;
    text-align: center; }

img {
    /* position: absolute; left: 0; */
    /* position: absolute; float: left; */
    display:block;
    margin:auto;
}

这是第一段

第3款

身体{ 背景色:白色; } .集装箱{ 宽度:自动; 保证金:自动; 背景色:#eee; } p{ 填充:1em; 保证金:0自动; 文本对齐:居中;} img{ /*位置:绝对;左侧:0*/ /*位置:绝对;浮动:左侧*/ 显示:块; 保证金:自动; }
为什么不使用
位置:绝对并用
顶部
左侧
和其他方向固定图像。但不建议使用这种方式。为什么不使用
位置:绝对并用
顶部
左侧
和其他方向固定图像。但不建议使用这种方式。哇,这太好了。只适用于现代浏览器,但这就是我所要担心的。哇,真是太好了。只适用于现代浏览器,但这就是我所要担心的。恐怕这是完全不同的。这样做之所以有效,是因为您取消了100px的限制,并使
img
容器(
p
标记)与图像一样大。请参阅@trysmudford回答中的注释,恐怕这完全不同。这样做之所以有效,是因为您取消了100px限制,并使
img
容器(
p
标记)与图像一样大。请参阅@trysmudford答案中的注释
var getContWidth = $("p").width();
var getImgWidth = $("p.center img").width();
var adjustMargin = (getImgWidth - getContWidth)/2;
$("p.center img").css("margin-left","-" + adjustMargin + "px");
<div class="container">
    <p>This is the first paragraph</p>
    <img src="http://placekitten.com/600/280"/>
    <p>Paragraph 3</p>
</div>

body {
    background-color: white;
}
.container {
    width:auto;
    margin:auto;
    background-color: #eee;
}
p { 
    padding: 1em; 
    margin: 0 auto;
    text-align: center; }

img {
    /* position: absolute; left: 0; */
    /* position: absolute; float: left; */
    display:block;
    margin:auto;
}