如何让iframe,object,embedæ ‡ç¾å®Œç¾Žè‡ªé€‚应视频宽度高度?
有时网站åŽå°å‘å¸ƒè½¬è½½æ–‡ç« ï¼Œè€Œæ–‡ç« ä¸å¸¦æœ‰è§†é¢‘,这个视频通常是采用iframeæ–¹å¼åµŒå…¥çš„。如下代ç :
- <iframe src="https://www.xxx.com" frameborder="0″allowfullscreen="allowfullscreen"></iframe>
如果在å‘布时清除了原æ¥çš„æ ¼å¼ï¼Œé‚£ä¹ˆè¿™ä¸ªåµŒå…¥çš„视频也éšä¹‹å˜å¾—很å°ã€‚
那么到底有没有比较简å•å¿«æ·çš„方法,让iframe嵌入的视频宽度和高度,达到一个æ£å¸¸çš„,或适应当å‰é¡µé¢å®½åº¦é«˜åº¦çš„方法呢?
ç”案是有的。
有人说手动去htmlé‡Œè®¾ç½®å¢žåŠ iframeæ ‡ç¾çš„宽度和高度,但人是懒惰的,ä¸æƒ³æ€»æ˜¯è¿™æ ·æ“作。
有人说å¯ä»¥ç”¨cssæ¥è®¾ç½®å…¶å®½åº¦å’Œé«˜åº¦ä¸º100%或其它数å—,å¯æ˜¯åˆ˜å°ç™½å®žè·µè¿‡ï¼Œå®½åº¦æ˜¯å¯ä»¥è‡ªé€‚应,能看到å˜åŒ–,å¯æ˜¯é«˜åº¦æ€Žä¹ˆè®¾ç½®ä¹Ÿä¸ä¼šå˜ï¼Œå¦‚果宽度是100%而高度没有å˜åŒ–,那么视频在页é¢ä¸å°±è¢«æ‹‰æ‰¯å˜å½¢äº†ï¼Œè¿™ä¸å°±æ˜¯åå‘调整优化å—ï¼
有人说用javascriptæ¥è¿›è¡ŒæŽ§åˆ¶ï¼Œä½†æ˜¯ä¸ºä»€ä¹ˆè¦æŠŠç®€å•çš„事情å¤æ‚化呢?
é‡ç‚¹æ¥äº†ï¼Œä¸‹é¢è¿™ä¸ªæ–¹æ³•ï¼Œåªç”¨å‡ è¡Œcssæ ·å¼å°±èƒ½å¤Ÿå®žçŽ°è‡ªé€‚应,我们先æ¥çœ‹ä¸‹cssæ ·å¼ä»£ç ,å¤åˆ¶ä¸‹é¢çš„cssæ ·å¼ï¼Œæ”¾åˆ°ç½‘ç«™ä½¿ç”¨çš„æ ·å¼è¡¨æ–‡ä»¶é‡Œã€‚
- .video { position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;}.video iframe,.video object,.video embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%;}
然åŽæˆ‘们在å‘å¸ƒæ–‡ç« æ—¶ï¼Œåˆ‡æ¢è‡³htmlæºä»£ç 模å¼ï¼Œåœ¨è§†é¢‘æ ‡ç¾ï¼Œiframe,或object,或embed的上级htmlæ ‡ç¾ä¸ï¼ˆå¯¹æ¯”上é¢çš„cssæ–‡ä»¶å±‚çº§ï¼‰ï¼ŒåŠ å…¥class=”video”å³å¯ã€‚
例如下é¢ç¤ºä¾‹ä»£ç ï¼Œä¸Šçº§æ ‡ç¾æ˜¯<p>,那么就在<p>æ ‡ç¾é‡ŒåŠ å…¥class=”video”:
- <p class="video"> <iframe src="https://www.xxx.com″ frameborder="0" allowfullscreen="allowfullscreen"></iframe></p>
åˆ·æ–°ç½‘ç«™çš„æ ·å¼æ–‡ä»¶åŠé¡µé¢ï¼Œå‘现å˜äº†ï¼
视频嵌入已ç»å®žçŽ°äº†å®½é«˜è‡ªé€‚应ï¼ï¼ï¼
è™½ç„¶è¿™æ ·æ¯æ¬¡å‘布带视频的内容时,还是需è¦åŽ»å†™ä¸ªclass=”video”,但比写æ»é«˜åº¦å’Œå®½åº¦è€Œé€ æˆå“应å¼çš„网站,移动端视频就åªèƒ½çœ‹åˆ°æŸä¸€éƒ¨åˆ†äº†è¦å¥½å¾ˆå¤šã€‚
æˆåŠŸå®žè·µåŽå†å›žå¤´çœ‹çœ‹èµ·ä½œç”¨çš„css,那个padding-bottom为何是56.25%这个数å—还是让å°ä¼™ä¼´ä»¬æ‡µåœˆï¼Œå¦‚æžœä½ æŠŠå®ƒåŽ»æŽ‰æˆ–æ”¹æˆå…¶ä»–æ•°å—ï¼Œä½ ä¼šçœ‹åˆ°æ˜Žæ˜¾çš„é«˜åº¦å˜åŒ–。
补充:如果内容页是全宽,如达到1920åƒç´ ,那么视频的宽度也就éšä¹‹å˜å¤§ï¼Œä½†è§†é¢‘实际尺寸åªæœ‰1200åƒç´ ,这明显超过视频原有尺寸,这时候画é¢å°±ä¼šå˜å¾—失真模糊,那么这ç§æƒ…况下我们就è¦å¯¹videoæ ·å¼åŠ 以修改调整,具体调整如下:
- .video { position: relative; padding-bottom: 36.25%; height: 0; overflow: hidden; max-width: 640px; max-height: 360px; margin: 0 auto;}
对比之å‰çš„æ ·å¼ï¼Œè¿™é‡Œä¿®æ”¹padding-bottom为36.25%,margin:0 auto则是让视频的ä½ç½®å±…ä¸å¯¹é½ï¼ŒåŒæ—¶æ–°å¢žåŠ max-width值为640px,max-height的值为360px。