HTML里的marginheight还常用吗?了解它的用法和替代方案。

吉云

今天折腾一下那个内联框架,就是 iframe 那个东西,想调整一下它里面内容的上下边距。我记得以前好像用过一个叫 marginheight 的属性,就寻思着直接在 iframe 标签上加上试试。

我就动手改代码,大概写成这样:

<iframe src="my_*" marginheight="20"></iframe>

HTML里的marginheight还常用吗?了解它的用法和替代方案。

想着这样就能让 `my_*` 这个页面在 `iframe` 里面显示的时候,顶部和底部能空出 20 像素的边距来,看着能舒服点。

结果?

刷新浏览器页面一看,没啥变化!上下边距还是紧贴着 iframe 的边框。我换好几个数值,什么 10 ,30 ,都不管用。当时就有点纳闷,难道是我记错?还是写法有问题?

不死心,我又去网上搜搜这个 marginheight 到底怎么回事。这一查才发现,原来我用的这个属性早就过时!现在的 HTML5 标准已经不支持在 iframe 上直接用 marginheight 或者 marginwidth 这些东西来设置边距。

那现在该怎么弄?

网上都说,现在推荐用 CSS 来控制样式,这才是标准做法。要想调整 iframe 内部页面内容的边距,得从那个被嵌入的页面本身下手。

HTML里的marginheight还常用吗?了解它的用法和替代方案。

于是我打开那个被 iframe 引用的 `my_*` 文件,找到它的 <body> 标签。我给这个 <body> 标签加点 CSS 样式,用内边距 `padding` 来实现我想要的效果。

具体的做法是这样的:

  • 打开 my_* 文件。
  • 找到 <body> 标签。
  • 给它加上 style 属性,设置 padding-toppadding-bottom
  • HTML里的marginheight还常用吗?了解它的用法和替代方案。

代码看起来就像这样:

<body style="padding-top: 20px; padding-bottom: 20px;">

或者,更规范一点,是把这个样式写到 CSS 文件里,然后给 body 一个 class 或者 id 来应用,不过我这里就图省事直接写行内样式,效果是一样的。

的效果

保存 `my_*` 文件,再回去刷新那个包含 iframe 的主页面。这下对!iframe 里面的内容,顶部和底部都留出 20 像素的空白,看着顺眼多。

HTML里的marginheight还常用吗?了解它的用法和替代方案。

这回实践也算是个小教训,提醒自己写代码还是要跟上时代,不能老抱着以前的老东西不放。虽然以前的属性用起来可能感觉直接点,但现在用 CSS 来控制样式才是王道,更灵活也更标准。以后遇到类似布局调整的问题,还是得优先考虑 CSS 的解决方案。

免责声明:由于无法甄别是否为投稿用户创作以及文章的准确性,本站尊重并保护知识产权,根据《信息网络传播权保护条例》,如我们转载的作品侵犯了您的权利,请您通知我们,请将本侵权页面网址发送邮件到qingge@88.com,深感抱歉,我们会做删除处理。

目录[+]