2017-06-05 11 views
0

半ページの内容をぼかす必要がありますが、基本的には顧客が支払いを受ける前にドキュメントのプレビューを表示する必要があります。ページを半分くすぐる

私はかなりこのように見えるHTMLページがあることを達成するために:私はぼかしを適用する必要が enter image description here

を、ブラーが、私は意志、ページの高さの50%から開始する必要がありますがスクリーンショットを撮ってそのイメージを顧客に示します。

ので:

  1. 関与する多くのdivがあるので、私はdivに、フィルタのぼかしを適用することはできません。
  2. divポジションアブソリュートにフィルターブラーを追加しようとしましたが、ボケがテキストに適用されていません。私もSVGでこれをやろうとしましたが、喜びはありませんでした。

アイデア?

+0

なぜスクリーンショットにぼかし効果を適用していないのですか? –

+0

@JosephSibleこれは私の最後のリソースです。フロントエンドチームによって維持されたいので、おそらく1人のSOの友人がトリックを知っています。 – hardkoded

+0

あまり役に立ちませんが、ぼかしたいdivをスタイルするだけでなく、ユーザーの操作に応じてぼかしを行うこともできませんか? –

答えて

1

ここで少しガタガタかもしれソリューションですが、動作します - 少なくともFirefoxの、中:

<?xml version="1.0" standalone="yes"?> 
<svg width="600" height="800" version="1.1" 
    xmlns="http://www.w3.org/2000/svg" 
    xmlns:xlink="http://www.w3.org/1999/xlink" 
    xmlns:html="http://www.w3.org/1999/xhtml"> 
    <filter id="halfBlur" filterUnits="objectBoundingBox" x="0" y="0.5" width="1" height="0.5"> 
    <feGaussianBlur in="SourceGraphic" stdDeviation="2" /> 
    </filter> 
    <g id="source"> 
    <foreignObject width="600" height="800"> 
     <html:iframe style="width:600px;height:800px" src=""></html:iframe> 
    </foreignObject> 
    </g> 
    <use xlink:href="#source" filter="url(#halfBlur)"/> 
</svg> 

マーク<use>要素は、それはSVGコンテナ要素を参照する場合にのみ動作しますが、直接ではない<foreignObject>こと。

すべての要素を完全なhtmlページを格納するのに十分な大きさにするように注意する必要があります。余分な措置として、埋め込みページのhtml要素にoverflow:hiddenルールを指定することをお勧めします。スクロールバーが表示されると、ページの両方の半分で独立して動作します。

+0

svgのみのページを取得し、iframeの 'src'にhtmlパスを設定する必要があります?またはこれを既存のhtmlに含める必要がありますか? "html:iframe"に関連するドキュメントが見つかりません – hardkoded

+0

HTMLページにiframeの 'src'を設定します。 'html:iframe'の構文はXML名前空間の構文です。svg要素の' xmlns:html'の名前空間の定義を参照してください。 – ccprog

+0

Firefoxでしか動作しません、あなたが言ったように、Chromeではうまくいきません:/、ありがとう時間の男。 – hardkoded

関連する問題