kazpgmの日記

『プログラム自動作成@自動生成』作成の日記

「kaz_javaSpringBootプログラム自動作成◎自動生成」のレスポンシブデザイン的な調査

10:31
①昨日と違う方法のドロワーメニューを調べている。

20:44
①レスポンシブデザインのスマホ向けドロワーメニュー画面。こんな感じにできた。なかなかよくできた。思ったように動いているのでストレスない。
 ・今ある画面のメニューと情報画面を、分離しようという考えでやってる。入力画面や、検索画面の画面からはみ出た分は、見れればいい。って感じで作成。
 ・次回のツールバージョンアップにこれを入れよう。
www.vector.co.jp
■今ある「kaz_javaSpringBootプログラム自動作成◎自動生成」でできる画面。
・これをスマホの時は、CSSスマホ向けに変えるレスポンシブデザインを取り入れる。

@media screen and (max-width: 768px) {

のようにして切り分ける。

スマホ実機の画面。
・まず、スマホ実機のchrome初期画面

・『ハンバーグメニュー』押下後。左からスライドするようにメニューが出る。

・ユーザー情報一覧(更新削除)画面選択。はみだした分は、見れればいい。って感じなので、これでいいとする。
 ←とかいいながら、ユーザー情報一覧(更新削除)画面の、はみだした分は明日の日記で解決している。

<meta name="viewport" content="width=device-width" />

を使って画面全体を表示している。

・さらに、『ハンバーグメニュー』押下後。
 ユーザー情報一覧(更新削除)画面に、覆いかぶせた形でメニューが出る。

・ユーザー情報登録画面選択。これも、はみだした分は、見れればいい。って感じなので、これでいいとする。
 ←とかいいながら、ユーザー情報一覧(更新削除)画面の、はみだした分は明日の日記で解決している。

・『ハンバーグメニュー』押下後。

・メニューの最後まで画面をスワイプする。

■とりあえず。できたソースの抜粋

<meta name="viewport" content="width=device-width" />
<!-- <meta name="viewport" content="width=1400" /> -->
<style type="text/css">
@media screen and (max-width: 768px) {
/* ハンバーガーメニュー */
.hamburger {
  width: 30px;
  height: 30px;
  background: #205386;
  padding: 10px;
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  z-index: 999;
}
.hamburger:hover {
  cursor: pointer;
}
.hamburger span {
  background: #fff;
  width: 25px;
  height: 2px;
  position: absolute;
  transition: 0.3s ease-out;
}
.hamburger span:nth-of-type(1) {
  top: 15px;
}
.hamburger span:nth-of-type(3) {
  bottom: 15px;
}
/* ハンバーガーメニューを左側に隠す */
.drawer-list {
  position: absolute;
  transform: translate(-300px);
  transition: 0.3s ease-out;
}
.drawer-list.open {
  transform: translate(0);
  transition: 0.3s ease-out;
}
#main
{
	background-color: #990000;
	margin:0 10px 0 5px;
	background-color:#FFFFFF;
	border:solid 1px #C6C6C6;
	padding:15px 15px 40px 15px;
	
	font-size: 8px;
}
.sysTitle {
  font-size: small;
  color:#FFFFFF;
  text-align: center;
}
}
@media screen and (min-width: 768px) {
.hamburger {
  display:none;
}
.drawer-list {
  display:block;
}
.sysTitle {
  font-size: large;
  color:#FFFFFF;
  text-align: center;
}
}
/* ハンバーガーメニューにactiveクラスが付いているときは三本線ではなく×印にする */
.hamburger.active span:nth-of-type(1) {
  transform: translateY(9px) rotate(-45deg);
  transition: 0.3s ease-out;
}
.hamburger.active span:nth-of-type(3) {
  transform: translateY(-9px) rotate(45deg);
  transition: 0.3s ease-out;
}
.hamburger.active span:nth-of-type(2) {
  opacity: 0;
}

</style>
・・・
	<<追加 start>>
<div class="hamburger">
  <span></span>
  <span></span>
  <span></span>
</div>
	<<追加 end>>
	<div id="header">
	<<修正後 start>>
	<a th:href="'javascript:submitFrm5(\'/members/admin/index\', \'\')'"><div class="sysTitle" ><strong>あなたのPGMタイトル&nbsp;&nbsp;管理システム</strong></div></a>
	<<修正後 end>>
・・・
	<<修正後 start>>
	<div class="drawer-list"  id="side">
	<<修正後 end>>
・・・
<!-- ドロワーメニュー用ロジック -->
<script>
$(function(){
  $('.hamburger').click(function(){
    $('.hamburger').toggleClass('active');
    $('.drawer-list').toggleClass('open');
  });
  $('.menu > li > a').click(function(){
    $('.hamburger').toggleClass('active');
    $('.drawer-list').toggleClass('open');
  });
});
</script>