質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Chart.js

Chart.jsは、多様なグラフを組み込めるJavaScriptのライブラリ。折れ線グラフや棒グラフ、円グラフ、レーダーチャートなどのグラフの種類が用意されています。HTML5のCanvasを用いて描画され、マークアップも分かりやすく、簡単に編集することが可能です。

Thymeleaf

Thymeleaf(タイムリーフ)とは、Java用のテンプレートエンジンで、特定のフレームワークに依存せず使用することが可能です。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

Q&A

解決済

1回答

1892閲覧

tableの隣にグラフを表示したい

takahiro00

総合スコア84

Chart.js

Chart.jsは、多様なグラフを組み込めるJavaScriptのライブラリ。折れ線グラフや棒グラフ、円グラフ、レーダーチャートなどのグラフの種類が用意されています。HTML5のCanvasを用いて描画され、マークアップも分かりやすく、簡単に編集することが可能です。

Thymeleaf

Thymeleaf(タイムリーフ)とは、Java用のテンプレートエンジンで、特定のフレームワークに依存せず使用することが可能です。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

0グッド

1クリップ

投稿2020/11/20 07:26

編集2020/11/21 02:12

前提・実現したいこと

Thymeleafで作成した画面にテーブルとグラフ(Chart.jsで作成したもの)を表示しているのですが、
テーブルの隣にグラフを同じくらいのサイズで表示したいのですが、
下のイメージのように下にずれて小さく表示されてしまいます。
ご教授いただければと思います。

↓現在の状況
イメージ説明

↓完成イメージ
イメージ説明

該当のソースコード

html

1<div th:each="obj2 : ${shopInfoList}"> 2 <div class="alt-table-responsive"> 3 <table class="table table-striped"> 4 <thead><tr><th colspan="2">テスト</th></tr></thead> 5 <tbody> 6 <tr> 7 <td th:text="テスト"></td> 8 <td th:text="テスト"></td> 9 </tr> 10 <tr> 11 <td th:text="テスト"></td> 12 <td th:text="テスト"></td> 13 </tr> 14 <tr> 15 <td th:text="テスト"></td> 16 <td th:text="テスト"></td> 17 </tr> 18 <tr> 19 <td th:text="テスト"></td> 20 <td th:text="テスト"></td> 21 </tr> 22 <tr> 23 <td th:text="テスト"></td> 24 <td th:text="テスト"></td> 25 </tr> 26 <tr> 27 <td th:text="テスト"></td> 28 <td th:text="テスト"></td> 29 </tr> 30 </tbody> 31 </table> 32 </div> 33 <div class="chart-graph"> 34 <canvas th:id=${obj2.pastChartId}></canvas> 35 <script type="text/javascript" th:inline="javascript"> 36 /*<![CDATA[*/ 37 var ctx = document.getElementById(/*[[ ${obj2.pastChartId} ]]*/).getContext('2d'); 38 var ChartDemo = new Chart(ctx, { 39 type: 'line', 40 data: { 41 labels: /*[[ ${obj2.createDate} ]]*/, 42 datasets: [ 43 { 44 label: "テスト", 45 borderColor: '#FF0000', 46 lineTension: 0, 47 fill: false, 48 data: /*[[ ${obj2.womanPastNm} ]]*/, 49 }, 50 { 51 label: "テスト", 52 borderColor: '#0000FF', 53 lineTension: 0, 54 fill: false, 55 data: /*[[ ${obj2.manPastNm} ]]*/, 56 }, 57 ] 58 }, 59 options: { 60 responsive: true, 61 } 62 }); 63 /*]]>*/ 64 </script> 65 </div> 66 </div>

css

1@charset "UTF-8"; 2table { 3width: 20%; 4height: 50px; 5border: 2px #2b2b2b solid; 6} 7 8td, th { 9border: 1px #2b2b2b solid; 10} 11 12.alt-table-responsive { 13 width: 20%; 14 overflow-y: hidden; 15 overflow-x: auto; 16 -ms-overflow-style: -ms-autohiding-scrollbar; 17 -webkit-overflow-scrolling: touch; 18} 19 20.chart-graph{ 21 float: right; 22}

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

flexが利用可能であれば、次のようにCSSを指定すれば可能です。

css

1.chart-graph{ 2 height:30vh; 3 width: 40vw; 4} 5 6.box { 7 display: flex; 8}

html

1<div class="container"> 2 <div th:each="obj2 : ${shopInfoList}" class="box"> 3 <div class="alt-table-responsive"> 4 <table class="table table-striped"> 5.... 6 </table> 7 </div> 8 <div class="chart-graph"> 9 <canvas th:id=${obj2.pastChartId}></canvas> 10....

適宜、.alt-table-responsiveやtableでのサイズ指定を調整してください。

イメージ説明

投稿2020/11/20 15:13

編集2020/11/21 03:54
A-pZ

総合スコア12011

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

takahiro00

2020/11/21 02:11

ご回答ありがとうございます。 shopInfoListの要素数だけ<table>が出力されるのは問題ないのですが、 <canvas th:id=${obj2.pastChartId}></canvas>をテーブルの横(右側)に表示したいのです。 今だとテーブルの右下に表示されてしまうので、 すみません説明が分かりづらかったと思うので、完成イメージを追加いたしました。
A-pZ

2020/11/21 03:00

なるほどありがとうございます。回答を訂正しますのでお待ちください。
takahiro00

2020/11/21 04:07

ありがとうございます! 無事できました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問