ラベル CSS の投稿を表示しています。 すべての投稿を表示
ラベル CSS の投稿を表示しています。 すべての投稿を表示

2023-08-27

Evolution CMS, テンプレートにBootstrap5を導入して簡単作成

CMS名 : Evolution CMS 3.2.2
Bootstrap : Version 5

テンプレート作成に使われる Bootstrap
特徴は、HTMLのタグに数文字記述するだけで、テンプレートのデザインができること。

Evolution CMS (Evolution)は、テンプレートを作成するのが容易だ。 Bootstrapを導入することによって、より多機能なホームページをつくることができる。 また、画面幅に対応しているため、パソコンやスマホで表示されることを意識しなくてもいい。

Bootstrap 導入で多機能になる例をいくつか上げると、

  • プルダウンメニューの作成。
  • 色付きボタンの作成。
  • ボタンをクリックすると、特定記事をポップアップして表示。
  • 表が画面幅からはみ出た時、横スライドバーを表示してくれる。
  • ボタンをクリックするだけで、同一記事内の特定行にジャンプしてくれる。

これらは、HTMLのタグに記述するだけでできる。

使えるように設定するのは、特定のプログラムファイルを読み込むだけ。

ここでは、Evolutionでの使用例を紹介。


スライドショー

画像スライドショー、文字スライドショー

上図は、画像のスライドショーと文字のスライドショーだ。

HTMLの要素、属性、属性値を記述することでできる。
CSSと組み合わせれば、デザインを好みにできる。

 

■ 画像のスライドショーについて

画像をフォルダーにアップロードし、ファイル位置をHTMLで記述する。
画像上に後付で文字を表示することができる。 文字位置は、デフォルトで決まっているため、変更したい時はCSSで指定する。 上図では、文字の位置、背景色をCSSで指定した。
スライドする間隔は、HTMLで記述する。 スマホではスワイプで画像が手動でスライドする。
画像は画面幅に自動で合わせてくれる。 文字はスマホ画面では、表示されなくなっていた。
マウスカーソルを画面上に置くと、スライドはストップする。
特定画像にリンクを設定することができる。


■ 文字のスライドショーについて

文字のみのスライドショー。
画像を指定する以外は、同様なことができる。
上図では背景色が黒になっているが、CSSでデザインを変更した。


なぜ、Evolution が Bootstrap と相性がいいのか?

Evolution の特徴として、チャンクというものがある。
チャンクは HTML 、 Javascript 、CSSを自由記述し、ファイル名として登録できる。 記事に {{チャンク名}} を記述するだけで、ブラウザーで開いたときに、チャンクの内容が展開される。

例えば、予め、画像スライドショーを実行させるHTMLをチャンクとして登録する。 記事内に、{{チャンク名}} と記述すれば見た目スッキリした記事になる。

チャンク名に「スライドショー」と日本語で命名できる。

{{スライドショー}}

と記述すれば、上図の画像スライドショーを表示することができ、わかりやすい。

 

Evolutionの特徴として、もう一つ。

「スライドショーをトップページのみに表示する」の設定を、テンプレートに記述しておけば記事に直接記述しなくてもいい。

この時、テンプレートに記述するのは、一例として

[[if? &is=`[*id*]:=:1` &then={{スライドショー}} ]]

だけ。 とても簡単だ。

  

#Evolution #CMS #Bootstrap #スライドショー #プルダウンメニュー #チャンク #アップロード #ポップアップ #スライドバー #表

2021-09-03

CSS3, 文字の消し方

 ホームページを作成する際に、PHPなどのプログラムから出力される文字を制御することが、できないことがある。

この時、CSSで制御する方法として

 

1.タグごと非表示にする

display: none;

 

2.文字のみをサイズで非表示にする

font-size: 0;

 

以上

#CSS, #文字を消す, #タグ

2021-07-04

joomla, メニューの並びを縦から横に変更する

 CMS : Joomla 3  (3.9.27)

 << 何をしたい >>

メニューの並びを横に設定する。


から


へ変更する。


<< 解決方法 >>

[ エクステンション ] [ モジュール ] から

デフォルトのモジュール名の Main Menu (種類 : menu)を選択。

高度な設定タブから、メニュークラスサフィックスに nav-pills を入力 。

ここで注意。 nav-pills の前に半角のスペースを入力する。

理由は不明。


以上

2021-02-06

jquery bxslider 画像の余白を上下左右均一にするMODX その2

 Jquery bxslider にはオプションで

 mode: 'fade'

がある。 fade を指定すると

余白が大きくなる場合がある。


余白を狭くするには、以下のように CSSを書き換える。

.bx-wrapper img {
    margin-left: -40px;
}



のように、余白が上下左右均等になる。

 

2021-02-04

CSS, 透過を指定すると、重ね文字まで透過してしまう。文字を透過しない方法とは

CSSで背景色を透過するとき

background-color: 色コード;
opacity: 透過度;


を使うと、重ね文字まで透過してしまう。そこで、

background: rgba(255, 255, 255, 0.3); /* 白色の透過 透過度 0.3 */

を使うと、背景色は透過し、重ね文字は透過しない。

Evolution CMS, 検索を設定できない。

Evolution CMS 1.4.12 LTS
OS : Linux Mint 20 xfce

<< トラブル >>

テンプレート作成時に、検索のテキストボックスやボタンが表示されない。

<< 解決方法 >>

インストール設定でサンプルをインストール指定する。

通常の作業ではサンプルデータをインストールしていしていた。トラブルが発生したときは、サンプルデータをインストール指定をしていなかった。このため、検索に必要なチャンクが導入されていなかった。

このため、検索に必要なチャンクを手動(コピー&ペースト)で作成した。
作成元になったチャンクは、以前作成したものからコピーした。

検索に必要なチャンク

コピーしたものは上図の赤枠で囲まれた4つのチャンク。(内容は省略)

  • AjaxSearch_tplAjaxGrpResult
  • AjaxSearch_tplAjaxResult
  • AjaxSearch_tplAjaxResults
  • AjaxSearch_tplInput

<< あとがき >>

Evolution CMSはテンプレートのデザインの自由度が高いため、オリジナルのサイトを作るのには適している、という印象を持っている。
インストール時にサンプル導入を指定して、後から削除したほうが効率的にだと思われる。

2020-11-16

Drupal8から9へテンプレートを移行する方法、初期設定編

 [ バージョン ] Drupal 9.0.7

<< エラー状況 >>

Drupal8から9へ移行する時、テンプレートをそのまま適用すると、

「サイトに予期せぬエラーが起こりました。しばらくたってから再度お試しください。」

というエラーメッセージが表示され、サイト自体が表示されない。

解決するためには、テンプレートファイルの内容を書き換えることによって、解決される。
ここでは、Drupal8から9への完全移行ではなく、非表示なったサイトを表示させるだけの解決方法。

<< 解決方法 >>

テンプレートファイルの内容を一部書き換える。

まず、テンプレートをフォルダーごとを以下に置く

{ サイト名 }/themes/custom/

以下のファイルの内容を一部書き換える

< ファイル名 >

 { サイト名 }/themes/custom/{テンプレート名}/{テンプレート名}.info.yml

▶ 書き換え内容

core: 8.x

core_version_requirement: ^8 || ^9

に書き換える。

サイトから、Drupal8から移行したテンプレートをインストールする。

以上

なお、一部を書き換えてもDrupal9への完全移行とはならなかった。CSSなどの修正が必要である。完全移行は後日に。
修正結果をすぐに反映するために、全てのキャッシュをクリアーしキャッシュ機能の一時停止の設定が必要だ。
全てのキャッシュのクリアーは、ホーム > 管理 > 環境設定 > 開発 > パフォーマンス から行う。

[ 参照サイト ] https://www.drupal.org/docs/theming-drupal

 

Drupal9をインストールする時のセキュリティ設定

 ■インストール時につまづいたこと

[ バージョン ] Drupal 9.0.7
[ データベス ] Sqlite

セキュリティのエラーについて、以下のような警告が表示された

セキュリティのエラー


「settings.php の trusted_host_patterns が設定されていません。セキュリティ面で脆弱となる恐れがあるため、設定することを強くおすすめします。・・・」


<< 解決方法 >>

ファイル名 { サイト名 }/sites/default/settings.php の内容を書き換える。

以下のコードを追加する。(コメントを外す)

    ▶ http://localhost/xxxxxにサイトを設定する場合

*/
$settings['trusted_host_patterns'] = [
  '^localhost$'        # localhost access
];
 /*
上記例では、サンプルとして記述されているコメント行を外すだけ。

意味は http://localhost/ 以外からの操作アクセスを禁止することである。
なお、カンマで区切れば複数設定可能だ。


[ 参考 ] Drupal7およびDrupal8のサポートは2022年11月に終了予定。
[ ダウンロード ] Drupal Japan ( http://drupal.jp/core_download )
[ 環境/データベス ] MySQL, Sqlite, PostgreSQL


2020-10-25

CSSだけでスライドメニューを作成する基礎の基礎

 ホームページの上部に漢字の (ハンバーガーボタン)に似たアイコンをクリックするとメニューが表示される。 ことのき、メニューは右または左からスライドするものがある。

スライドメニュー(またはドロワーメニュー)は、CSSだけで作成することができる。

 

<< 作成ポイント >>

 CSSの transform: translateX() または transform: translateY() でメニュー領域を表示したり、隠したりすることがポイント。
表示したり、隠したりするスイッチは HTMLの inputタグ を記述し。CSSの :checked でスイッチとして、オン(有効)/オフ(無効)する要素を指定する。

実際のホームページでは、チェックするクリック領域を 記号に変えているだけである。

ポイントは以上



今回は、以下のように右側、左側、上部または下部からスライドさせてメニュー領域を表示したり、隠したりするコードを記した。

 

<< 右、左、上または下からスライドさせる使い分け >>

メニューを画面のどこに隠しておくかである。
例えば右からスライドさせる場合に、画面右側の見えない位置に隠して、ハンバーグボタンでオン(チェックを入れる)にすると、隠れたメニュー領域が画面の右から移動し、表示される。
この時、移動する速さを CSSの transition: 0.6s などのように設定することによって、瞬時に表示させるのではなく、移動するように見せることができる。

 メニュー表示 (チェックが入る)
× メニューを閉じる(チェックが外れる)

図 メニューが表示されていない状態

 


右からスライド



左からスライド



 

上から


 

下から

 


 

<< HTMLコード 共通 >>

index.html

<!DOCTYPE html>
<html lang="ja">

<head>
<meta charset="UTF-8">
<title>Test left-right</title>
<link rel="stylesheet" type="text/css" href="style.css" />
</head>

<body>
<div id="container">

<div id="nav-drawer">
<!-- 開くボタン|ハンバーガーアイコン -->
<input type="checkbox" id="nav-input" class="nav-unshown" />
<label id="nav-open" for="nav-input"><span>
</span></label>
<label class="nav-unshown" id="nav-close" for="nav-input"></label>
<!-- //開くボタン|ハンバーガーアイコン -->

<div id="nav-content">

<!-- 閉じるボタン|
アイコン -->
<label class="nav-unshown" id="nav-close2" for="nav-input">
<span>
×</span>
</label>
<!-- //閉じるボタン|X
アイコン -->

<br>ここはメニューです。ボックスにチェックが入ると、表示されます。<br>
チェックを外すと閉じます。<br><br>
原理は、デフォルトで表示領域外に設定し、チェックを入れることによって移動させて表示させています。<br>

</div> <!-- //id="nav-content" -->
</div> <!-- //id="nav-drawer" -->

</div> <!-- //container -->
</body>
</html>


<< CSSコード 右からスライド >>

style.css

body {
background-color: #c0c0c0;
}

#container {
margin: auto;
}

#nav-drawer {
float: left;
}

/* メニュー表示要素 */
#nav-content {
overflow: auto;
position: fixed;
top: 0;
right: 0;
width: 90%;
max-width: 330px;
height: 100%;
background-color: white;
transition: 0.6s;
-webkit-transform: translateX(105%);
transform: translateX(105%);
z-index: 9999;
}

/* メニュー表示中の背景設定 */
#nav-close {
display: none;
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: black;
opacity: 0;
transition: 0.6s;
z-index: 99;
}

/* チェックボックス */
#nav-input:checked ~ #nav-content {
transform: translateX(0%);
-webkit-transform: translateX(0%);
box-shadow: 6px 0 25px rgba(0,0,0,.15);
}
/* チェックボックス */
#nav-input:checked ~ #nav-close {
display: block;
opacity: 0.6;
}


<< CSSコード 左からスライド >>

style.css

body {
background-color: #c0c0c0;
}

#container {
margin: auto;
}

#nav-drawer {
float: right;
}

/* メニュー表示要素 */
#nav-content {
overflow: auto;
position: fixed;
top: 0;
left: 0;
width: 90%;
max-width: 330px;
height: 100%;
background-color: white;
transition: 0.6s;
-webkit-transform: translateX(-105%);
transform: translateX(-105%);
z-index: 9999;
}

/* メニュー表示中の背景設定 */
#nav-close {
display: none;
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: black;
opacity: 0;
transition: 0.6s;
z-index: 99;
}

/* チェックボックス */
#nav-input:checked ~ #nav-content {
transform: translateX(0%);
-webkit-transform: translateX(0%);
box-shadow: 6px 0 25px rgba(0,0,0,.15);
}
/* チェックボックス */
#nav-input:checked ~ #nav-close {
display: block;
opacity: 0.6;
}




<< CSSコード 上部からスライド >> 

style.css

body {
background-color: #c0c0c0;
}

#container {
margin: auto;
position: absolute;
bottom: 0;
}

#nav-drawer {
float: left;
}

/* メニュー表示要素 */
#nav-content {
overflow: auto;
position: fixed;
top: 0;
right: 0;
width: 100%;
height: 90%;
max-height: 330px;
background-color: white;
transition: 0.6s;
-webkit-transform: translateY(-105%);
transform: translateY(-105%);
z-index: 9999;
}

/* メニュー表示中の背景設定 */
#nav-close {
display: none;
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: black;
opacity: 0;
transition: 0.6s;
z-index: 99;
}

/* チェックボックス */
#nav-input:checked ~ #nav-content {
transform: translateY(0%);
-webkit-transform: translateY(0%);
box-shadow: 6px 0 25px rgba(0,0,0,.15);
}
/* チェックボックス */
#nav-input:checked ~ #nav-close {
display: block;
opacity: 0.6;
}



<< CSSコード 下部スライド >>

style.css 

body {
background-color: #c0c0c0;
}

#container {
margin: auto;
}

#nav-drawer {
float: left;
}

/* メニュー表示要素 */
#nav-content {
overflow: auto;
position: fixed;
bottom: 0;
right: 0;
width: 100%;
height: 90%;
max-height: 330px;
background-color: white;
transition: 0.6s;
-webkit-transform: translateY(105%);
transform: translateY(105%);
z-index: 9999;
}

/* メニュー表示中の背景設定 */
#nav-close {
display: none;
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: black;
opacity: 0;
transition: 0.6s;
z-index: 99;
}

/* チェックボックス */
#nav-input:checked ~ #nav-content {
transform: translateY(0%);
-webkit-transform: translateY(0%);
box-shadow: 6px 0 25px rgba(0,0,0,.15);
}
/* チェックボックス */
#nav-input:checked ~ #nav-close {
display: block;
opacity: 0.6;
}



メニューを開く(三)/閉じる(X)記号は、上記ではHTMLに直接文字として簡易的に表したが、実際にCSSコードを使って記述する。labelタグやborder(CSS)を駆使すると可能。

今回は、仕組みを理解しやすくするために、最小限のコードで記した。
上記のコードを基に、実際のホームページで配置、デザインを追加していく。

 

2016-10-16

最小限のCSSコードでプルダウンメニューをつくる

html ファイルと CSS ファイルで、最も少ないコードでプルダウンメニューを作成する。


▶ index.html

  <div id="menu" >
  <ul >
      <li > <a href="#" >Home </a > </li >
     
       <li class="dropdown" > <a href="#" >登山 </a >
           <ul >
                <li > <a href="#" >高尾山 </a > </li >
                <li > <a href="#" >栗駒岳 </a > </li >
                 <li > <a href="#" >富士山 </a > </li >
                 <li > <a href="#" >鳥海山 </a > </li >
            </ul >
       </li >
     
       <li class="dropdown" > <a href="#" >キャンプ </a >
            <ul >
                 <li > <a href="#" >霧ヶ峰高原 </a > </li >
                 <li > <a href="#" >車山高原 </a > </li >
            </ul >
       </li >
     
       <li class="active" > <a href="#" >海外旅行 </a > </li >
     
       <li > <a href="#" >PC </a > </li >
  </ul >
 </div >

▶ menu.css

■ 出力

 #menu ul li {
     list-style-type: none;
     float: left;
     display: block; 
     padding-right: 20px;
}
     
#menu ul li ul {
      position: absolute;
      padding: 0px 0px 0px 0px;
}
     
#menu ul li ul li {
     display: none;
     float: none;
}
     
#menu ul li.dropdown:hover ul li {
     display: block;
     background-color: yellow;
}




サブメニューを認識しやすいように 色付けした
background-color: yellow;

更に見やすくする


以下のコードを追加すると、見やすいメニューとなる。

▶ menu.css (追加分コードのみ)

#menu ul li.dropdown ul li:hover,
#menu ul li:hover {
       background-color: lightgreen;
}


■ 出力



html,css,メニュー,プルダウンメニュー,最小限



2016-10-13

CSS3で上下のブロックを入れ替えしたい、レスポンシブデザイン

レスポンシブデザインを使って、スマホ画面上での上下のブロックの入れ替えをしたい。


▶ index.html

 <div class="row" >
 <div id="left-block" >
  A
 </div >
 <div id="center-block" >
  B
 </div >
</div >


パソコン画面上では




通常スマホ画面上では



AブロックとBブロックを上下で入れ替えるには

▶ template.css

.row {
 display: flex;
 flex-direction: column-reverse;
}


を記述すると、上下が入れ替わる。
ただし、古いブラウザーに対応するには、別な記述をしなければならない。



CSS,javascript,上下,class,reverse