基于内联 HTML 样式生成样式表



我一直在设计网站的不同部分,但是我还没有将我的内联样式放入样式表中。我想知道是否存在一种工具来解析 HTML 文件并从中生成样式表。例如,这是我网站的片段:

<div class="block" style="border:1px solid">
    <img id="profile-pic" style="float:left;border:0px"/>
</div>

我希望能够生成这个:

.block {
    border: 1px solid;
}
#profile-pic {
    float: left;
    border: 0px;
}

这样的东西存在吗?

在这里,我写了一个函数来做到这一点(特异性不会很完美,但它会让你开始):

function getInlineStyles() {
  var stylesList = "",
      thisElement,
      style,
      className,
      id;
  $("*", "body").each(function () {
    thisElement = $(this);
    style = thisElement.attr("style");
    className = thisElement.attr("class");
    id = thisElement.attr("id");
    if (id !== undefined) {
      stylesList += " #" + id;
    }
    if (className !== undefined) {
      stylesList += " ." + className;
    }
    if (id !== undefined || className !== undefined) {
      stylesList += "{";
    }  
    if (style !== undefined) {
      stylesList += style;
    }
    if (id !== undefined || className !== undefined) {
      stylesList += "}";
    }
  });
  return stylesList;
}

试试火虫。在CSS部分,你有这样的东西:


element.style {
border: 1px solid; }

对于<div class="block">

只需将其复制到.block { }中即可!这不太容易,但它可以提供帮助。

不,没有这样的工具。当有多个班级时,你会怎么做?还是一个班级和一个ID?还是具有 ID 的元素的子元素?

不,HTML就是要以这种方式进行复杂的解析,以创建高效的CSS代码。您需要手动执行此操作。

对此的一般方法是采用内联 css 繁重的页面,并将其下载到本地。然后,从头开始重建页面。好的一面是你只需要做一次CSS。一旦你有一个全局样式表,其余的页面将直接到位。

相关内容

  • 没有找到相关文章

最新更新