画像配置するときのstyle属性を削除

MT4.xにおいて、画像を配置する際、右、左等の回りこみを設定したとき。
タグに直接書かれたstyle属性にてfloatやマージンを制御している。

(X)HTMLタグへの直接のstyle属性は、外部cssからの制御ができず、いろいろと苦労します。
ので、極力、classによって制御したい。
ということで、このstyle属性が記述されないようにする。
ついでに、クラスも任意のものに変更してしまう。
(MTをCMSとして使用するとき、極力MTの痕跡をソースにのこしたくないので)

/mt/lib/MT/Asset/Image.pm
270行目付近(MT-4.1-ja)。

if ( $param->{wrap_text} && $param->{align} ) {
$wrap_style = 'class="mt-image-' . $param->{align} . '" ';
if ( $param->{align} eq 'none' ) {
$wrap_style .= q{style=""};
}
elsif ( $param->{align} eq 'left' ) {
$wrap_style .= q{style="float: left; margin: 0 20px 20px 0;"};
}
elsif ( $param->{align} eq 'right' ) {
$wrap_style .= q{style="float: right; margin: 0 0 20px 20px;"};
}
elsif ( $param->{align} eq 'center' ) {
$wrap_style .= q{style="text-align: center; display: block; margin: 0 auto 20px;"};
}
}

ここでスタイルを指定しているので、
スタイルをコメントアウト。
そして、クラス追加部分を、下記のように変更。

if ( $param->{wrap_text} && $param->{align} ) {
# $wrap_style = 'class="mt-image-' . $param->{align} . '" ';
if ( $param->{align} eq 'none' ) {
# $wrap_style .= q{style=""};
}
elsif ( $param->{align} eq 'left' ) {
$wrap_style = 'class="l" ';
# $wrap_style .= q{style="float: left; margin: 0 20px 20px 0;"};
}
elsif ( $param->{align} eq 'right' ) {
$wrap_style = 'class="r" ';
# $wrap_style .= q{style="float: right; margin: 0 0 20px 20px;"};
}
elsif ( $param->{align} eq 'center' ) {
$wrap_style = 'class="c" ';
# $wrap_style .= q{style="text-align: center; display: block; margin: 0 auto 20px;"};
}
}

これで不用意なstyle属性はつかなくなるので、任意のclssにて、スタイルを指定する。

img.r {
float: right;
border: none;
margin:0 0 25px 2px;
vertical-align:top;
}

img.l {
float: left;
margin:0 2px 25px 0;
vertical-align:top;
}

img.c {
display:block;
text-align:center;
margin:0 auto 25px auto;
}

このブログ記事について

このページは、adminが2008年6月 6日 16:38に書いたブログ記事です。

ひとつ前のブログ記事は「GoogleMap API、Opera閲覧時に出るスクロールバー消去」です。

次のブログ記事は「MT4.x 画像配置をスマートにするカスタマイズ」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。