<< 2003/02/ 1 2 3 4 5 6 1. Opera 7.01 リリース
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 >>
トップ «前の日(02-05) 最新 次の日(02-07)» 追記

2003-02-06

_ Opera 7.01 リリース

さくっと出ました。タイミング計っての発表だったのかもしれませんが。

http://www.zdnet.co.jp/news/0302/06/nebt_01.html

Tags: Web News Tool

2004-02-06

_ 職場の ADSL を 1.5 → 24 に契約変更

実測値は 500 〜 700kbps 程度から 1.3Mbps 程度に。倍にはなったが、釈然としない。まー予想通りと言えば予想通りなんだけど、あまりに予想通りすぎて悲しい。

ただし、合わせて変更したルータの効果がなかなか大きい。少なくとも「通信が詰まる」感じはなくなった。NAT のセッション数の限界か何かで全然セッションを開始できない問題もほとんど解決した。速さはほとんど実感できないが、ストレスはだいぶ減った。これだけでもよしとしなければいけない。

Tags: 日々 Biz Net

2006-02-06

_ zsh + screen 環境で単に cd って打つと挙動がおかしい

  • screen を使ってないとおかしくならないので先日の zsh スクリプトの影響だろう
  • zsh 4.2.5 + screen 3.09.15(OSX)では問題ない
  • zsh 4.0.4 + screen 3.09.11(Debian 3.0 x86)で問題発生

screen の window title が空っぽになっちゃって、何をしても画面上に反応が出なくなる。current の window を閉じちゃえば使えるが、なんか食い違ってるらしく、リフレッシュさせないと画面が壊れてしまう。

cd ~

ってやれば回避できるんだけど、なんか気持ち悪いな。


2007-02-06

_ DOM で要素の絶対的な位置を計算してみる

※ 長さの割に内容はありません。先にあやまっておきますごめんなさい。

ことの発端はある部分のデータ量が多くてそこだけ縦に長くなっちゃってレイアウトが見苦しいので調整したいという要望だった。

んなもん紙じゃねーんだからバランス取ろうとする方がおかしいんだ

と思ったけれども、CSS(overflow: auto) + JavaScript(style.height をごにょごにょ)でなんとかなるかなーと思ってやってみた*1ら HTML の組み方によっては厳しいことが分かってきた。要は

旧石器時代に滅んだはずの table レイアウトってやつ

だ。あれは難しい。なぜなら table は内容全体に応じてセルの大きさが伸縮しちゃうからセルの大きさそのものは計算してもみんな同じなんだな、これが。中身がスカスカで見た目のバランスが崩れているかどうかは、セルの大きさを比較しても分からないわけ。

じゃあってんで内容の方に注目してその height を比較して調整すればいんじゃね?と思ったんだけど、デフォルトの margin なんかがあって意外とうまくいかない。マジックナンバーを投入するとなんとなくうまくいってるように見えるんだけど、ちょっと変更が入っただけで簡単に破綻してしまった。

じゃあ height じゃなくて注目している要素の bottom を比較できればいいんだなと思ったけれど、これをすんなり取得する方法は DOM にはないっぽい。offsetTop, offsetLeft てのはあるんだけどこれは親要素を原点としているので、ページレイアウト上の絶対位置は取得できない。

あれまーと思ったんだけどこういう方法で取得してみた。ある要素の上辺の、ページ内における絶対的な位置を取得する関数*2

function top( obj ) {
  var pos = 0;
  if ( obj ) {
    pos = obj.offsetTop;
    if ( obj.offsetParent ) {
      pos += top( obj.offsetParent );
    }
  }
  return pos;
}

※ 横着してますが obj は DOM の HTMLElement オブジェクトが入ってきていると思ってください。

offsetTop が親要素に対する相対位置なのだから、てっぺんの要素まで再帰でさかのぼって行けばいいじゃんていう話。試したところ狙い通りの値が取れてるみたいなんだけど、なんかおかしいこと考えてるかもしれないんで、気づいた方はツッコんでください*3。一応 Opera 9, MacIE 5, WinIE 6/7, Safari 1.3, Firefox 1.5/2, iCab 3.0.2(build 382) で大丈夫みたい。つか今どきのフレームワークにはこういう機能すでにあるんかもしれんなぁ。

bottom の方は top + height を計算すればいいだけなので割愛。left, right も同じ要領なのでこれまた割愛。というかたぶん調整したいと言われるのは縦方向だけだと思う。

*1 ページング処理すれば?ってのはこの場合デザイン上ナシの方向で。

*2 実際にはこんながっつりグローバルな関数じゃないんだけど。

*3 親要素をはみ出しちゃうようなダイナミックな CSS レイアウトは考慮してません。つかそういうデザインなら今回のようなことは考える必要ないもの。たぶん。