Monthly Archives: April 2017

CSS3: 印刷時の改ページ部分をコントロールする

Web ページを印刷した時、プリント用の CSS が定義されていて、出力結果が綺麗な場合、そのサイトで扱っているコンテンツに対する信用は向上します。 今回はそんなプリント・PDF 出力時に、改行する位置を指定する CSS プロパティについてメモしておきます。 目次 印刷時の改ページ部分をコントロールする まとめ 印刷時の改ページ部分をコントロールする 改ページの CSS プロパティ説明の前に、header 内で print 専用の CSS を読み込みたい場合のサンプルコードを記載しておきます。 print.css を読み込むためのサンプルコード 改ページに関する CSS before 要素プロパティ プロパティ 値 説明 page-break-before auto 制御しない (初期値) always 直前で改ページさせる avoid 直前の改ページを禁止する 改ページに関する CSS after 要素プロパティ プロパティ 値 説明 page-break-after auto 制御しない (初期値) always 直後で改ページさせる avoid 直後の改ページを禁止する まとめ print.css もしくは @media print を使用し、HTML 要素に対し page-break-before もしくは page-break-after で改行位置を指定します。 プリント時のプレビューを確認しながら、区切りのいい位置で div や hr タグに対しこれらのスタイルを定義すれば、PDF 出力時にも適用されます。 普段は見過ごされてしまいがちな印刷時のスタイルを定義しておけば、Web コンテンツ自体の品質・信用の向上につながると思いますので、積極的に導入してみてください。 この記事がみなさんのお役に立ちましたら、下記「Share it」よりブックマークやSNSで共有していただければ幸いです。

Swift: デザインパターン > 構造パターン > Decorator

オブジェクト設計において、定石となる手法をパターン化したものを デザインパターン といいます。 デザインパターンをきちんと勉強していない人でも、Web のおかげで知らず知らずのうちに使って(コピペして)その恩恵を享受しています。 自分自身パターン概要を一読しただけで、あいまいな使い方をしているものが多く、この際勉強を兼ねて GOF 23 パターンのなかでよく利用するものを Swift3 で記述していきたいと思います。 今回は 構造パターン の Decorator について説明します。 目次 [構造] Decorator パターン まとめ [構造] decorator パターン Decorator(装飾者)パターンは、既存オブジェクトに機能や振る舞いを動的に追加できるパターン。 サンプルコード Player.swift Component となるクラス。 Hero.swift ConcreteComponent となるクラス。 Decorator.swift Decorator クラスには Player (Component) インスタンスをメンバ変数として保持するのがポイント。 Sword.swift ConcreteDecorator となるクラス。 PowerStone.swift ConcreteDecorator となるクラス。 ViewController.swift 実行結果 まとめ 上記サンプルのように Decorator パターンを利用すれば、Hero クラスを継承することなく動的に機能拡張を行うことができます。 次回は 構造パターン の Facade パターンを説明したいと思います。 この記事がみなさんのお役に立ちましたら、下記「Share it」よりブックマークやSNSで共有していただければ幸いです。

Swift: デザインパターン > 構造パターン > Composite

オブジェクト設計において、定石となる手法をパターン化したものを デザインパターン といいます。 デザインパターンをきちんと勉強していない人でも、Web のおかげで知らず知らずのうちに使って(コピペして)その恩恵を享受しています。 自分自身パターン概要を一読しただけで、あいまいな使い方をしているものが多く、この際勉強を兼ねて GOF 23 パターンのなかでよく利用するものを Swift3 で記述していきたいと思います。 今回は 構造パターン の Composite について説明します。 目次 [構造] Composite パターン まとめ [構造] Composite パターン Composite とは合成、複合を意味し、Composite パターンでは再帰的な構造を表現し、階層構造で表現されるオブジェクトの取扱いを容易にする。 サンプルコード Branch.swift Leaf.swift ViewController.swift 実行結果 まとめ Branch クラスに Branch と Leaf クラスが属しています。 Branch と Leaf が execute により、Branch に Leaf や、別の Branch を含むことが可能になりました。 次回は 構造パターン の Decorator パターンを説明したいと思います。 この記事がみなさんのお役に立ちましたら、下記「Share it」よりブックマークやSNSで共有していただければ幸いです。