Source for file htf_css_style.phl
Documentation is available at htf_css_style.phl
* @package HtmlTemplateFramework
* @author Yamauchi Shogo <htf@as-prj.com>
* @version $Id: htf_css_style.phl ,v 1.0 $;
require_once("htf_com_define.inc"); //共通定数群
require_once("htf_com_func.inc"); //共通関数群
require_once("htf_css_property.phl"); //CSSプロパティクラス
* 生成するCSSスタイル情報を保持し、CSSスタイル記述を生成します。
* (8)A:****(link,visited,hover等)<br>
* @author Yamauchi Shogo <htf@as-prj.com>
* セレクタに使用するアンカータグ名('link','visited'等を指定)
* CSSスタイル情報を保有・生成するクラスを生成します。
$this->arr_element_name = array();
$this->arr_property = array();
* @param string $strelement 追加するエレメント名
* @return int 成功時:追加後のarr_attribute要素数 失敗時:-1
return count($this->arr_element_name);
* @param string $strprop プロパティ名
* @param string $strvalue プロパティ値
* @return int 成功時:追加後のarr_element_name要素数 失敗時:-1
return count($this->arr_property);
* 引数の$typeには次のうち該当する作成方法をサマリした値を指定します。<br>
* (1)HTF_CSS_STYLE_USE_CLASS(クラス名使用)<br>
* (2)HTF_CSS_STYLE_USE_ID(IDを使用)<br>
* (3)HTF_CSS_STYLE_USE_ANCNAME(アンカー使用)<br>
* (4)HTF_CSS_STYLE_USE_ELEMENT_FST(先頭のエレメントのみを使用)<br>
* (5)HTF_CSS_STYLE_USE_ELEMENT_ARR(配列全てを使用)<br>
* $hierにtrueを指定した場合には、指定エレメント名を配列上位から
* スペース区切りで結合してセレクタを作成します。
* @param int $type セレクタ作成方法
* @param bool $hier 要素を階層的に指定する(デフォルトはfalse)
* @return string CSSスタイル記述
$inttype=(int) (htf_nz($type, 0));
$strselecter = $this->get_css_selecter_elemarr($strseldelim);
$strselecter = $this->get_css_selecter($inttype);
$strprop= $this->get_css_property();
if ($strselecter== "" || $strprop== "" ) {
//セレクタ・プロパティどちらかの値がない場合には空文字を返す
$strret = $strselecter. '{'. $strprop. '}';
* CSSスタイル記述のセレクタを取得します(エレメントは先頭のみ)。
* @param int $type セレクタ作成方法
* @return String CSSセレクタ記述
function get_css_selecter($type) {
$inttype=(int) (htf_nz($type,0));
if (count($this->arr_element_name) > 0) {
$strret = $this->arr_element_name[0];
$strret.= $this->connect_prefix('.', $this->class_name);
$strret.= $this->connect_prefix('#', $this->id_name);
$strret= $this->connect_element($strret, $this->connect_prefix('A:', $this->anchor_name),' ');
* CSSスタイル記述のセレクタをエレメント配列を全て使用して取得します。
* @param String $strdelim 結合時のデリミタ文字
* @return String CSSセレクタ記述
function get_css_selecter_elemarr($strdelim= ",") {
$strusedelim = htf_nz($strdelim,",");
for ($i= 0;$i< count($this->arr_element_name);$i++ ) {
$strret = $this->connect_element($strret, $this->arr_element_name[$i], $strusedelim);
* CSSスタイル記述のプロパティ記述を取得します。
* @return String CSSプロパティスタイル記述
function get_css_property() {
for ($i= 0;$i< count($this->arr_property);$i++ ) {
$strret = $this->connect_element($strret, $this->arr_property[$i]->get_css_desc(), ';');
* @param int $inttype セレクタ作成方法
* @param int $intusetype 判別する作成方法
* @return bool TRUE:使用する FALSE:使用しない
function judge_use_selecter($inttype, $intusetype) {
if (($inttype&$intusetype) == $intusetype) {
* @param String $strorg 結合元の文字列
* @param String $strcon 結合する文字列
* @param String $strdelim デリミタ文字
function connect_element($strorg, $strcon, $strdelim) {
//デリミタがおかしい場合はデリミタ無しで結合して返す
$strret = $strorg. $strcon;
$strret = $strorg. $strdelim. $strcon;
* @param String $strpre プレフィックス文字
* @param String $strcon 結合する文字列
function connect_prefix($strpre, $strcon) {
//通常はプレフィックスと結合文字列を結合して返す
$strret = $strpre. $strcon;
|