我怎样才能使 iframe 居中但也让它内联显示?

Posted

技术标签:

【中文标题】我怎样才能使 iframe 居中但也让它内联显示?【英文标题】:How can I center an iframe but also have it display inline? 【发布时间】:2014-08-10 09:47:18 【问题描述】:

我有一个 youtube 视频,我想以 div 为中心。我加了

display: block;

到这里建议的 css How to center an iframe horizontally? 并且它确实正确居中。但是,我有两张图片我想在 iframe 旁边显示内联,一张在左边,一张在右边。问题当然是当我在 iframe 中设置 display: block 时,它会阻止图像被放置在图片的左侧和右侧。

这里是html

<div class="content">

    <a id="logo" href="http://www.example.com"> 
        <img id="logo" src="img/logo.png" >
    </a> 
    <br>

    <nav class="topNav">
    <a href="index.html">
            <img id="home" class="topNav" src="img/home.png" 
            >
        </a>
        <a href="photos.html">
            <img id="photos" class="topNav" src="img/photos.png" 
            >
        </a>
        <a href="about.html">
            <img id="about" class="topNav" src="img/about.png" >
        </a>
    </nav>
    <br> 

    <
        <img id="image1" src="img/image1.png" >
        <iframe id="video" src="http://www.youtube.com/embed/L-9y6jP-HO4">
        </iframe>
        <img id="image2" src="image2.png" >

<br>

    <a id="downloadmp3" href="mp3/poo-on-the-shoe-ringtone.mp3"
       target="_blank" onmouseover="mOver()" onmouseout="mOut()">
        Download the ringtone! 
    </a>
    <br>

    <a href="https://www.facebook.com"
       target="_blank">
        <img id="facebookPic" src="img/facebook.png"
             > 
    </a>

这是css

body 
  background: #563C21;
  text-align: center;


.content 
  text-align: center;
  background-color: #4D361E;
  box-shadow: 0 0 150px black;
  border-radius: 15%;


#logo 
  margin: auto;
  text-decoration: none;
  

.topNav 
      width: 210px;
  height: 50px;
  margin: auto;
  display: inline;


.topNav a 
  text-decoration: none;
 

#video 
  width: 540px;
  height: 315px;
  display: block;
  margin: auto;
  border: 0;

如何使 iframe 居中,同时保持图像的内联行为?

【问题讨论】:

把所有东西都包裹在一个&lt;div&gt; 中,然后居中? 【参考方案1】:

示例链接:http://jsfiddle.net/BeEg9/

CSS:

 #video 
  width: 540px;
  height: 315px;
  margin: auto;
  border: 0;
  display: inline;


#image1, #image2 
  height: 200px;
  display: inline;


.content 
  text-align: center;
  display: block;

HTML:

<div class="content">
    <img id="image1" src="img/image1.png"  />
        <iframe id="video" src="http://www.youtube.com/embed/L-9y6jP-HO4">
        </iframe>
    <img id="image2" src="image2.png"  />
</div>

【讨论】:

很抱歉,但这在我的项目中对我不起作用,而且似乎也不适用于您的小提琴。 我相信它在小提琴中似乎对我不起作用的原因是因为我的显示器尺寸较小,我稍微拉伸了该区域,它似乎至少在左侧起作用,我确定它也在右侧。但是,由于某种原因,这在我的代码中仍然不起作用。我只发布了我认为与帖子相关的代码,但显然是其他原因导致它不起作用,所以我将编辑我的帖子。请查看它并让我知道您的想法。谢谢! 是的,如果它在您的项目中不起作用,那么其他一些 css 属性正在干扰它......如果没有看到它,我不知道是什么。 抱歉拖了这么久,编辑给我添了很多麻烦 你将不得不为我把它扔到一个 jsfiddle 中。完成后,单击保存。然后您会看到一个名为 SHARE 的新按钮。单击它并复制第一个 URL 并将其保留在 cmets 中。

以上是关于我怎样才能使 iframe 居中但也让它内联显示?的主要内容,如果未能解决你的问题,请参考以下文章

我怎样才能使元素居中[重复]

我怎样才能使我的菜单栏居中?

iframe 内联框架

如何使标记完美重叠,使其不会在同一端出现两次?

如何将网格面板居中对齐

让 Bootstrap 的 Carousel 既居中又响应?