Mozilla で簡単に要素の箱を移動可能にする XBL

概要

Mozilla で HTML 文書 (など) を表示する際に、 CSS を使って特定の要素 (の(ボックス)) をマウスによるドラッグで閲覧者が移動可能にするための XBL 文書です。

はじめに

Mozilla (というか Gecko) は、 XBL という言語を使って要素の表現を制御できます。 W3C の CSS (level 2 まで) では、表示については基本的に「静的」な指定しかできません。 しかし XBL と組み合わせることにより、条件判断を含めたり閲覧者の操作に応じた動作を行ったりすることが可能になります。 (実際に現在の Mozilla には、移動文字 (marquee) が XBL を使って実装されています。)

drag-xbl.xml は、要素 (の(ボックス)) を閲覧者がマウスのドラッグにより移動可能とするための XBL 文書です。 同じことは JavaScript を文書に直接埋め込んでも実現できます (し実際よく使われています) が、 XBL 化して CSS を通して指定することには、次のような利点が挙げられます。

使い方

  1. まず、 drag-xbl.xml を持っていってください。 (現在の URI は仮のものですから、いずれ消滅するかもしれません。お手数ですがお手元に複製してお使い下さい。)
  2. CSS 形式のスタイル・シートで上記文書を用意した URI を以下の例のように書き入れます。 (なお、ここで使用している -moz-binding 属性は Mozilla (Gecko) の独自拡張です。 もじら組の『Mozillaの独自拡張CSSは使わないでください』という文書に目を通して理解した上でお使い下さい。)
  3. 移動可能時及び移動時のスタイルを、必要に応じて合わせて指定しておきます。
.movable-element {
  -moz-binding: url('uri/of/drag-xbl.xml#simple-drag');
}
/* 移動可能な時、級 DRAGABLE が追加されます。 */
.movable-element.DRAGABLE {
  position: absolute /* または fixed */;
  margin: 0 /* 位置計算の都合上 0 でないといけません。 */;
  top: 4em; /* 例。 */
  left: 1em;
}
/* 移動中の時、級 DRAGING が追加されます。 */
.movable-element.DRAGING {
  cursor: move; /* 例。 */
}

制限事項

License

作者の連絡先

メイル・サーバーが使えない状態なので、 suika.robamimi 避難所にご連絡下さい。

目次

  1. 概要
  2. はじめに
  3. 使い方
  4. 制限事項
  5. License
  6. 作者の連絡先
2003-02-17; $Date: 2003/07/06 23:09:12 $