htmlparser Visitor和filter的区别是什么

html-css011

htmlparser Visitor和filter的区别是什么,第1张

我没使用过HtmlParser,你是指 sourceforge 网站上那个开源的的 HtmlParser API 么?

一般说概念上讲 visitor 只是表示,”伙计,当前我正在看到XXX,你想了解这个XXX么?“,它表示你当前正在扫描一个节点时触发了事件,告诉你当前正在哪个位置,比如,正遍历 </body>节点的收尾处;

而 filter 则只告诉你正在准备遍历一个节点,你得告诉 API 这个节点是否符合条件(它将返回到结果集中,如果不符合条件就不会返回到结果集中)。比如一个 NodeClassFilter 当然会有一个条件来指明我们需要命中哪个 java class 类型的 Node (TextNode, TagNode, RemarkNode, ...),而一个 CssSelectorNodeFilter 而是找出使用了指定的 Css selector 参数的节点。这里的 Filter 一般用来搜索或迭代,比如搜索符合条件的子节点或迭代一个元素的所有子节点时我们可以给定条件只看符合条件的节点。

当 XML 在解释时会触发事件,Visitor 就相当于以前的 SAX 的 startElement / endElement 事件一样,每到事件出现时就会调用 Visitor 的对应方法;而 Filter 则是到了某个可能的节点时都询问是否符合条件。

html给背景图片设置透明度的方法有2种

1、使用opacity属性,给设置背景图片的元素添加“opacity:透明度值”样式即可;

属性值从 0.0 到 1.0。值越小,越透明

示例:

<!DOCTYPE html>

<html>

<head>

<style type="text/css">

div {

width: 300px

height: 300px

background-image: url(img/3.jpg)

}

.box{

opacity: 0.5

}

</style>

</head>

<body>

<div>背景图片</div>

<div class="box">背景图片</div>

</body>

</html>

2、使用filter属性,给设置背景图片的元素添加“filter: opacity(透明度值)”样式即可

filter属性定义了元素(通常是)的可视效果(例如:模糊与饱和度);

2.1 语法

filter: none | blur() | brightness() | contrast() | drop-shadow() | grayscale() | hue-rotate() | invert() | opacity() | saturate() | sepia() | url()

属性值代表的意义:

grayscale灰度

sepia褐色(有种复古的旧照片感觉)

saturate饱和度

hue-rotate色相旋转

invert反色

opacity透明度

brightness亮度

contrast对比度

blur模糊

drop-shadow阴影

示例:

<!DOCTYPE html>

<html>

<head>

<style type="text/css">

div {

width: 300px

height: 300px

background-image: url(img/3.jpg)

}

.box{

filter: opacity(0.6)

}

</style>

</head>

<body>

<div>背景图片</div>

<div class="box">背景图片</div>

</body>

</html>