3
2
1

以下のユーザーマクロによるパネルを使用していますが、タイトルのフォントサイズが固定のようです。こちらをスタイルシートで変更することは可能でしょうか。

## @param PanelTitle:title=Panel Title|type=string
## @param MarginLeft:title=Param Margin Left|type=string
## @param MarginRight:title=Param Margin Right|type=string
## @param PaddingTop:title=Param Padding Top|type=string
## @param BorderStyle:title=Border Style|type=string|desc=Examples: solid, dashed
## @param BorderColour:title=Border Colour|type=string
## @param BorderPixelWidth:title=Border Pixel Width (Value Only)|type=string
## @param BackgroundColour:title=Background Colour|type=string
## @param TitleBackgroundColour:title=Title Background Colour|type=string
## @param TitleTextColour:title=Title Text Colour|type=string

#if (!$paramBorderPixelWidth)
  #set ($paramBorderPixelWidth="1px")
#end

#if ($paramMarginLeft)
  #set ($styleMarginLeft="margin-left: $paramMarginLeft;")
#else
  #set ($styleMarginLeft="")
#end

#if ($paramMarginRight)
  #set ($styleMarginRight="margin-right: $paramMarginRight;")
#else
  #set ($styleMarginRight="")
#end

#if ($paramPaddingTop)
  #set ($stylePaddingTop="padding-top: $paramPaddingTop;")
#else
  #set ($stylePaddingTop="")
#end

#if ($paramBackgroundColour)
  #set ($styleBackgroundColour="background-color: $paramBackgroundColour;")
#else
  #set ($styleBackgroundColour="")
#end

#if ($paramBorderColour)
  #set ($styleBorderColour="border-color: $paramBorderColour;")
  #set ($styleBorderBottomColour="border-bottom-color: $paramBorderColour;")
#else
  #set ($styleBorderColour="")
  #set ($styleBorderBottomColour="")
#end

#if ($paramBorderStyle)
  #set ($styleBorderStyleForPanel="border-style: $paramBorderStyle;")
  #set ($styleBorderStyleForPanelHeader="border-bottom-style: $paramBorderStyle;")
#else
  #set ($styleBorderStyleForPanel="")
  #set ($styleBorderStyleForPanelHeader="")
#end

#if ($paramBorderPixelWidth)
  #set ($styleBorderPixelWidthForPanel="border-width: $paramBorderPixelWidth;")
  #set ($styleBorderPixelWidthForPanelHeader="border-bottom-width: $paramBorderPixelWidth;")
#else
  #set ($styleBorderPixelWidthForPanel="")
  #set ($styleBorderPixelWidthForPanelHeader="")
#end

#if ($paramTitleBackgroundColour)
  #set ($styleTitleBackgroundColour="background-color: $paramTitleBackgroundColour;")
#elseif ($paramBackgroundColour)
  #set ($styleTitleBackgroundColour="background-color: $paramBackgroundColour;")
#else
  #set ($styleTitleBackgroundColour="")
#end

#if ($paramTitleTextColour)
  #set ($styleTitleTextColour="color: $paramTitleTextColour;")
#else
  #set ($styleTitleTextColour="")
#end

#if ($styleBackgroundColour == "")
  #set ($styleForPanelContent = "")
#else
  #set ($styleForPanelContent = "style='$styleBackgroundColour'")
#end

<div class="panel" style="$styleBackgroundColour$styleBorderColour$styleBorderStyleForPanel$styleBorderPixelWidthForPanel$styleMarginLeft$styleMarginRight$stylePaddingTop">
#if ($paramPanelTitle)
<div class="panelHeader" style="$styleBorderPixelWidthForPanelHeader$styleBorderStyleForPanelHeader$styleBorderBottomColour$styleTitleBackgroundColour$styleTitleTextColour">
<b>$paramPanelTitle</b>
</div>
#end
<div class="panelContent" $styleForPanelContent>
$body
</div>
</div>

【HTML出力】

【PDF出力】

    Commentコメントを追加...

    2 回答

    1.  
      3
      2
      1

      私もパネルNEOユーザマクロを作成していて、まさにタイトルのフォントサイズ指定もできるようにしています。

      やり方は蒼龍さんの言っているやり方です。

       

      一番上の設定項目にこんなの追加して

      ## @param TitleFontSize:title=タイトルテキストサイズ|type=enum|enumValues=xx-large,x-large,large,medium,small,x-small,xx-small|default=medium

      #if ~ #set ~ #else ~ #end とか書かれているエリアらへんにこんなのを追加して

      #set ($styleTitleFontSize="font-size: $paramTitleFontSize;")

      最後のHTML生成のところの最後に $styleTitleFontSize をつける感じです。

      <div class="panelHeader" style="$styleBorderPixelWidthForPanelHeader$styleBorderStyleForPanelHeader$styleBorderBottomColour$styleTitleBackgroundColour$styleTitleTextColour$styleTitleFontSize">
      <b>$paramPanelTitle</b>

       

       

      ちなみにスタイルシートならこんな感じですが

      div.panel > .panelHeader > b:nth-child(1){  
      font-size: xx-large;
      color: green;
      }

      これだと標準のパネルにも影響でるので、ユーザマクロの方のパネルDIVにpanelNeoとかのIDを振って

      div#panelNeo > .panelHeader > b:nth-child(1){  
      font-size: xx-large;
      color: green;
      }

      こうしたほうがいいと思います。

       

      でもせっかくユーザマクロだからパラメーター指定のほうが個人的にもお勧めします。

      1. 荒木治

        実環境に適用したところ期待通りに動作しました。(smallでは大きすぎ、x-smallでは小さすぎたので12pxにしました)

        ありがとうございました!

      Commentコメントを追加...
    2.  
      3
      2
      1

      スタイルシートではありませんが、タイトルを出力している場所にfontタグを入れ、フォントサイズを調整して見るのはいかがでしょうか?

      フォントサイズをパラメーターから入力するようにすれば、マクロ内でタイトルのフォントサイズを調整するようなこともできるかと思います。

      1. 荒木治

        ご回答ありがとうございました!参考になりました。

      Commentコメントを追加...