通过此JSFiddle,您可以看到如果按下“切换圆圈”按钮,则与文本内联的圆圈会隐藏并显示。它旁边的文字也会移动,因为它周围的div
使用text-align: center;
function hide() {
$('img').toggle();
}
div {
text-align: center;
background-color: grey;
padding: 20px;
}
p {
display: inline;
color: white;
vertical-align: top;
}
img {
display: inline;
width: 50px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<button onclick="hide();">Toggle Circle</button>
<div>
<p>Lorem Ipsum</p>
<img src="https://upload.wikimedia.org/wikipedia/commons/1/13/Disc_Plain_red.svg">
</div>
我希望它能使文本居中,好像圆圈不在那里,然后当点击按钮时,圆圈就会出现在旁边。简单地说,我希望文本的居中不受圆圈的影响,即使它仍然会出现在旁边。
我该怎么做?感谢。
答案 0 :(得分:0)
您应该使用relative/absolute
位置执行此操作,因此img
不会影响元素的自然流动
function hide() {
$('img').toggle();
}
&#13;
.content {
text-align: center;
background-color: grey;
padding: 20px;
}
.inner {
position: relative;
display: inline;
}
p {
display: inline-block;
color: white;
vertical-align: top;
}
img {
position: absolute;
width: 50px;
right: -50px;
top: 0;
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button onclick="hide();">Toggle Circle</button>
<div class="content">
<div class="inner">
<p>Lorem Ipsum</p>
<img src="https://upload.wikimedia.org/wikipedia/commons/1/13/Disc_Plain_red.svg">
</div>
</div>
&#13;
答案 1 :(得分:0)
你可以用更简单的方式做到这一点。
将visibility:
与hidden
或visible
(而不是j display
使用的toggle
一起使用),元素的空间仍为“保留”
然后,您可以使用jQuery toggleClass
,并添加一个切换visibility
的类。
这样做,您不必像position: absolute
我已经更新了你的小提琴:https://jsfiddle.net/uuvLogcr/3/
更新了jQuery:
function hide() {
$('img').toggleClass('hidden');
}
更新了CSS:
div {
text-align: center;
background-color: grey;
padding: 20px;
}
p {
display: inline;
color: white;
vertical-align: top;
}
img {
display: inline;
width: 50px;
visibility: visible;
}
img.hidden {
visibility: hidden;
}
答案 2 :(得分:0)
如果您可以修改标记,请将<img>
移至<p>
,然后将其设置为img {position:absolute;}
,使其脱离正常的内容流程。并使用top
,right
值和transform
将图片放入正确的位置。
已更新 - https://jsfiddle.net/uuvLogcr/5/
function hide() {
$('img').toggle();
}
&#13;
div {
text-align: center;
background-color: grey;
padding: 20px;
}
p {
display: inline;
color: white;
position: relative;
}
img {
position: absolute;
right: 0;
top: 50%;
transform: translate(100%, -50%);
width: 50px;
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<button onclick="hide();">Toggle Circle</button>
<div>
<p>
Lorem Ipsum
<img src="https://upload.wikimedia.org/wikipedia/commons/1/13/Disc_Plain_red.svg">
</p>
</div>
&#13;