วิธีการจัด iframe ในแนวนอนเป็นศูนย์?


234

พิจารณาตัวอย่างต่อไปนี้: ( การสาธิตสด )

HTML:

<div>div</div>
<iframe></iframe>

CSS:

div, iframe {
    width: 100px;
    height: 50px;
    margin: 0 auto;
    background-color: #777;
}

ผลลัพธ์:

ป้อนคำอธิบายรูปภาพที่นี่

ทำไมการiframeจัดแนวกลางจึงไม่เหมือนdiv? ฉันจะจัดตำแหน่งจากส่วนกลางได้อย่างไร?


6
เหตุใดจึงไม่ต้องตัด div สำหรับ iframe นี้
Giberno

คำตอบ:


384

เพิ่มdisplay:block;ลงใน css iframe ของคุณ


28
ขอบคุณ! ฉันควรจะเดาได้ว่าinline frameเป็นองค์ประกอบแบบอินไลน์ :)
Misha Moroshko

34
นั่นคือสิ่งที่ "ฉัน" หมายถึง
Aayush

11
ดังนั้นคุณสามารถกำหนดtext-align: centerกฎให้ถูกต้องได้ไหม
KOVIKO

1
ใช่เพิ่ม text-align: ศูนย์ภาชนะที่จะทำงานมากเกินไป
chrisweb

9
ฉันพบว่าฉันต้องเพิ่มด้วยmargin: auto;
MarkyDD

45

วิธีที่ดีที่สุดและง่ายกว่ามากในการกำหนด iframe ไว้ที่หน้าเว็บของคุณคือ:

<p align="center"><iframe src="http://www.google.com/" width=500 height="500"></iframe></p>

ความกว้างและความสูงจะเป็นขนาดของ iframe ของคุณในหน้า html ของคุณ


1
ฉันคิดว่าalignแอตทริบิวต์เลิกใช้แล้ว? เหตุใด OP จึงควรใช้วิธีนี้แทนที่จะใช้ CSS - ข้อดีคืออะไร
andrewsi

4
style="text-align:center"ไม่เลิกใช้และจะทำงานเหมือนเดิม
Anthony

แม้ว่าจะมีค่าเสื่อมราคางานนี้ในขณะที่ทุกอย่างอื่นไม่ได้
user819490

สิ่งนี้ทำงานได้ในไฟล์ HTML และทำให้เป็นเรื่องง่ายสำหรับฉันที่จะปลูกฝัง ฉันเพิ่งทำในปี 2560 ดังนั้นมันจะต้องไม่ถูกคิดค่าเสื่อมราคา ขอบคุณสำหรับทิป!
Renel Chesak

20

HTML:

<div id="all">
    <div class="sub">div</div>
    <iframe>ss</iframe>
</div>

CSS:

#all{
    width:100%;
    float:left;
    text-align:center;
}
div.sub, iframe {
    width: 100px;
    height: 50px;
    margin: 0 auto;
    background-color: #777;

}

11

หากคุณกำลังใส่วิดีโอใน iframe และคุณต้องการให้เลย์เอาต์ของคุณลื่นไหลคุณควรดูที่หน้าเว็บนี้: วิดีโอความกว้างของของไหล

ขึ้นอยู่กับแหล่งวิดีโอและหากคุณต้องการให้วิดีโอเก่า ๆ ตอบสนองกลยุทธ์ของคุณจะต้องเปลี่ยน

หากนี่เป็นวิดีโอแรกของคุณนี่เป็นคำตอบง่ายๆ:

<div class="videoWrapper">
    <!-- Copy & Pasted from YouTube -->
    <iframe width="560" height="349" src="http://www.youtube.com/embed/n_dZNLr2cME?rel=0&hd=1" frameborder="0" allowfullscreen></iframe>
</div>

และเพิ่ม CSS นี้:

.videoWrapper {
	position: relative;
	padding-bottom: 56.25%; /* 16:9 */
	padding-top: 25px;
	height: 0;
}
.videoWrapper iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

คำเตือน: ไม่มีสิ่งนี้เป็นรหัสของฉัน แต่ฉันได้ทดสอบแล้วและมีความสุขกับผลลัพธ์


นี่คือการทำให้วิดีโอใน iframe ตอบสนองทำงานได้ดีขอบคุณ!
Ricardo

11

รหัสที่ง่ายที่สุดในการจัดตำแหน่งองค์ประกอบ iframe:

<div align="center"><iframe width="560" height="315" src="www.youtube.com" frameborder="1px"></iframe></div>

โปรดดูวิธีแรกที่จะตอบคำถามนี้ตอบก่อนหน้านี้แน่นอนคุณสามารถเพิ่มคำตอบของคุณที่นี่ แต่คุณต้องเข้าใจบางประเด็นก่อนตอบ ก่อนอื่นอย่าเพิ่มคำตอบที่เพิ่มไว้ก่อนหน้านี้ด้วยรหัสหรือคำแนะนำเดียวกัน ประการที่สองอย่าเพิ่มคำตอบที่ซับซ้อนมากเกินไปหากผู้ใช้ถามถึงปัญหาและสิ่งที่เขาต้องการในการแก้ไขโดยเฉพาะ ประการที่สามคุณสามารถเพิ่มความคิดเห็นหากคุณต้องการแนะนำอะไรเกี่ยวกับคำตอบหรือคำถาม
ankit suthar

6

คุณสามารถใส่ iframe ภายใน <div>

<div>
    <iframe></iframe>
</div>

มันใช้งานได้เพราะตอนนี้อยู่ในองค์ประกอบบล็อก


3

ตามhttp://www.w3schools.com/css/css_align.aspการตั้งค่าระยะขอบซ้ายและขวาเป็นอัตโนมัติระบุว่าพวกเขาควรแยกระยะขอบที่มีอยู่เท่า ๆ กัน ผลลัพธ์ที่ได้คือองค์ประกอบกึ่งกลาง:

margin-left: auto;margin-right: auto;

1
เฉพาะในกรณีที่องค์ประกอบหลักมีการจัดแนวข้อความสไตล์ตั้งศูนย์
parvus


1

ในโซลูชันกรณีของฉันอยู่ในระดับ iframe เพิ่ม:

    display: block;
    margin-right: auto;
    margin-left: auto;

0

ที่นี่ฉันได้วางตัวอย่างสำหรับคุณทุกคนที่กำลังทุกข์ทรมานที่จะทำให้ iframe หรือภาพในใจกลางของหน้าจอในแนวนอน ให้คะแนนฉันหน่อยถ้าคุณชอบ👍⯅

สไตล์> img & iframe> นี่คือชื่อแท็กของคุณดังนั้นเปลี่ยนหากคุณต้องการแท็กอื่นที่อยู่ตรงกลาง

<html >
 <head> 
            <style type=text/css>
            div{}
            img{
                 margin: 0 auto;
	         display:block;
         	}
	 iframe{	
		margin: 0 auto;
		display:block;
		}
				
            </style>
</head>
 <body >
           
			<iframe src="https://test-videos.co.uk/vids/bigbuckbunny/mp4/h264/360/Big_Buck_Bunny_360_10s_1MB.mp4" width="320" height="180" frameborder="0" allowfullscreen="allowfullscreen"></iframe> 
			
			<img src="http://commondatastorage.googleapis.com/gtv-videos-bucket/sample/images/BigBuckBunny.jpg" width="320" height="180"  />
            </body> 
            </html>

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.