CSSは昨日20歳になりました。 Haakon Wiom Leeへのインタビュー(パート2)

継続する。 最初の部分は昨日公開されました。








IE5のbox-sizing: border-box



モデルよりも、与えられた幅にパディング、ボーダー、マージンが追加されるブロックモデルを好んだのはなぜですか?




両方のモデルに適したユースケースがあります。 ブロックを埋めるために画像を引き伸ばしたい場合、元のCSSモデルの方がうまく機能します。 また、フィールドと境界が特定の領域を超えないようにする必要がある場合は、IE5モデルの方が適しています。 個人的には、標準のCSSモデルの方が適しているケースはもっと多いと思いますが、私が本当に尊敬する人の中には異なる考え方をする人もいます。 この競合は、すべてのブラウザがサポートするbox-sizing



プロパティを追加することにより、エレガントに解決されました。



絶対配置が好きではありませんでした。 私は間違っていますか それは仕様にどのように現れましたか?



あなたの質問は1996年に私を連れ戻します。そして、それについてこれについて激しい議論がありました。 一言で言えば:マイクロソフトは、 CSS Regionsドラフトに絶対配置を導入することを提案しました。 最近形成されたCSSワーキンググループの一部のメンバーには疑問があり、バートと私は簡単なカウンター提案を書きました。 その中で、 position



プロパティを削除することを提案し(代わりにdisplay



を使用しdisplay



)、相対的な配置のみを説明しました(これにより、絶対配置について慎重に考える時間ができました)。 ただし、Microsoftは既に独自の提案を実施しており、この機能を削除したくありませんでした。 最後に、唯一の重要な変更は、 left



top



position: fixed



に加えて、 right



bottom



プロパティの追加でしたposition: fixed



そのため、仕様はCSS2標準の一部になりました。



あなたのように、私は絶対的なポジショニングで仕事をすることを決して喜んでいません。 ただし、Web開発でその位置を見つけており、時々私はそれを使用して、異なる方法で行うことが困難または不可能なことを行います。



レイアウトにフローティングブロックを使用するのは間違っていると聞くことがあります。フローティングブロックは写真の周囲にテキストを設定するためだけに設計されているためです。 このレイアウト方法がうまく機能するかどうかは本当に重要ですか?



写真の周囲のテキストの折り返しは基本的なレイアウト手法の1つであるため、フローティングブロックを確実に使用できます。 私の意見では、CSS標準を開発すべき方向の1つは、 ページ分割されたプレゼンテーションです。 コンテンツが明示的にページ分割されている場合、フローティングブロックはページの上下にスナップできるため、さらに重要になります。



魔法の杖を持っている場合、CSSのどの部分をトレースなしで削除し、どこに追加したいのでしょうか?



<!--[if lt IE 7 ]>



ような、特定のブラウザーバージョンに関連付けられているコードはすべて<!--[if lt IE 7 ]>



ます。 厳密に言えば、このような「コメント」はCSSの一部ではありませんが、どこでも使用すべきではありません-Webの標準を大幅に低下させます。



質問の2番目の部分は、もっと興味深いものです。 2006年には、 Webフォントを追加しました。 2007年- <video>



要素
(HTML領域への短時間の侵入を許可する場合)。 現在、これらの機能は両方ともすべてのブラウザーでサポートされています。



2011年に、スクロールを使用する代わりにコンテンツをページ分割することを好むアプリケーションがいくつあるかを見て、 Webページを実際のページにするという考えを広め始めました。 このアイデアの本質は、スタイルに、ドキュメントのコンテンツを個別のページに分割するページモードを含めることができるということでした。 ジェスチャまたはPageUpおよびPageDownキーを使用してスクロールできます。 ブラウザーでブックリーダーアプリを簡単に作成できるようにします。 このために、魔法は私にとって有用でしょう。 あなたはすべてのブラウザメーカーの枕の上にそれを払拭するために小さな魔法の花粉を持っていますか?



2つの高等教育を必要としないページを作成する方法がまだないのはなぜですか? (私はあなたについて話している、 flexbox



...)




レイアウトは複雑な問題であり、ページは多くのデバイスで表示する必要があるため、Webのレイアウトはさらに複雑です。 CSSには、絶対配置、フローティングブロック、複数列レイアウト、テーブルなど、いくつかのレイアウトメカニズムがあります。 これらのメカニズムを組み合わせるのは簡単ではありませんが、これには2つの高等教育が必要だとは思いません。 flexbox



、私はflexbox



あまり使用してflexbox







SASSやLESSなどのプリプロセッサについてどう思いますか? CSSから学ぶことはありますか?



はい、プリプロセッサは便利です。 プリプロセッサから最も人気のあるもののかかとを取り出してCSSに含める必要があると思います。 個人的には、ネストされたセレクターと単一行コメント(//で始まる)が大好きです。 CSSが50歳になったら、最初から標準に含まれていなかった理由を説明します。



あなたはWHATWGのメンバーの一人です。 どうやってそこに着いたの?



WHATWGは、W3CがHTMLでの作業から離れ、XHTML、XForms、SMIL、SVGに基づく複合ドキュメントに焦点を合わせていることが明らかになったときに設立されました。 HTMLは、ブラウザメーカーがそのように放棄するのにあまりにも重要でした。 そのため、当時Operaで働いていたIan HicksonがWHATWGを設立し、私たちが知っているようにウェブでの作業を続けました。 さらに、独自のアプリケーション言語の上にあるXMLの薄い層であるMicrosoft XAMLは疑わしいものでした。 したがって、WHATWGはドキュメントではなくWebアプリケーションに焦点を合わせました。 Ianは、HTML標準のエディターとして素晴らしい仕事を続けています。



あなたはCSSの父ですが、最近W3Cの一部としてCSSワーキンググループではなく、WHATWGの傘下でいくつかの仕様を投稿しました。 なんで?



実際、WHATWGは現在、イラスト( CSS図 )および書籍( CSS書籍 )の標準に取り組んでいます。 WHATWGで標準を公開することには、いくつかの重要な利点があります。 「リビングスタンダード」モデルを使用すると、最小限のオーバーヘッドですばやく更新できます。 以前は、この分野でW3Cドラフトドラフトを公開することは非常に困難でした。 私は、WHATWGが標準を現在の実装レベルをわずかに上回るだけの状態を維持するよう努め、開発者があきらめないように熱心にサポートします。



最後の質問:CSSはそのタスクに対応していますか? または、 グリッドスタイルシートなどの別のモデルに移動した方がよいでしょうか?



イーサン・マンソンとフィリップ・M・マーデンは1999年に「スタイル言語の研究は非常に不十分だ」と書いています。 この声明は依然として真実であり、スタイル言語を学び、改善する試みは歓迎されています。



GSSは非常に興味深い例です;その作成者は、 ヒクイドリ制約充足アルゴリズムをスタイルシートエンジンに適用します。 元のCSS実装では、 SkyBlueアルゴリズムを使用して、競合する表現間の競合を解決しました。 (ところで、これらのアルゴリズムは両方ともワシントン大学で開発されました。)制約充足アルゴリズムにより、任意の要素間の関係を表現し、競合を自動的に解決できます。 しかし、DOMを操作するときに起こるように、要素が絶えず消えて追加されると、すべてがはるかに複雑になります。 また、リングの依存関係を慎重に扱う必要があります。 したがって、CSSが要素間のレイアウト制限を表現できるようにするという考えは、開発の初期段階で放棄されなければなりませんでした。



以前は、新しい標準のサポートを追加するために、すべてのブラウザ開発者に貴重な時間を費やすように説得する必要がありました。 これは深刻な障害になりつつあり、おそらくあまりにも大きかった。 最近では、ブラウザをJavaScriptで強化できます。 スタイルシートが長年に値する研究を実験し、実施することがはるかに容易になりました。



あなたの質問に戻ります:CSSは仕事をしていますか? そう思う。 近い将来、そうでないと思わせるようなものは見当たりません。 新しいアイデアが登場しますが、それらはCSSよりも拡張されます。 私たちが今日書いているCSSは、500年後でもコンピューターに理解できると信じています。



ありがとう ハッピーバースデーCSS!






All Articles