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

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

新規登録して質問してみよう
ただいま回答率
85.46%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

HTML

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

Q&A

解決済

1回答

719閲覧

form 横並び 空白

退会済みユーザー

退会済みユーザー

総合スコア0

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

HTML

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

0グッド

0クリップ

投稿2021/01/07 23:10

編集2021/01/07 23:18

書籍画像を並べて表示、クリックすると画像の名前を受け取るプログラムを書いています。

表示方法としてformをinline-blockにして横並びにしています。
その際、どうしてもform右に空白が生まれてしまいます。

原因として(簡単に)改行コードを含むためと解釈しました。
そこでHTMLファイルであればformの終了タグから次のformの開始タグまでを<!-- -->で埋めることで解決することが分かりました。

私はphpファイルでforeachを使うことでformを並べています。
そうすると上記の実装は不可能です。(</form>から<form>の記載はないため)

この(phpファイルでforeachを使ってformを表示する)場合にはどのようにすれば空白を埋めることができるでしょうか?
改善策を教えていただけると幸いです。

該当のソースコード

php

1<?php 2 3 class Image{ 4 protected $imagePath; 5 6 public function __construct($imagePath, $imageName){ 7 $this->imagePath = $imagePath; 8 $this->imageName = $imageName; 9 } 10 11 public function getImagePath(){ 12 echo $this->imagePath; 13 } 14 15 public function getImageName(){ 16 echo $this->imageName; 17 } 18 } 19 20 $image1 = new Image('./img/output_1.jpg', 'output_1.jpg'); 21 $image2 = new Image('./img/output_2.jpg', 'output_2.jpg'); 22 $image3 = new Image('./img/output_3.jpg', 'output_3.jpg'); 23 24 $images = array($image1, $image2, $image3); 25 26?> 27 28<!DOCTYPE html> 29<html> 30 <head> 31 <meta charset="UTF-8"> 32 <title> Sample form </title> 33 <link rel="stylesheet" type="text/css" href="homestyle.css"/> 34 </head> 35 <body> 36 <h1> Sample form </h1> 37 <div class = "sample_form"> 38 <?php foreach($images as $image): ?> 39 <form method = "post" action = ""> 40 <input type = "image" src = "<?php echo $image->getImagePath() ?>" alt = "<?php echo $image->getImageName() ?>"> 41 <input type = 'hidden' name = "image_name" value = <?php echo $image->getImageName() ?>> 42 </form> 43 <?php endforeach ?> 44 </div> 45 </body> 46</html>

css

1form{ 2 display: inline-block; 3}

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

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

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

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

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

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

guest

回答1

0

ベストアンサー

空白を発生させてしまっている親タグのfont sizeを0にし
inputタグに適切なfont sizeを設定しなおせばおそらく解決すると思われます。

過去の記憶なので間違ってたらすみません。

投稿2021/01/07 23:32

編集2021/01/07 23:34
ransuS_T

総合スコア106

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

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

退会済みユーザー

退会済みユーザー

2021/01/07 23:43

解決しました!簡潔に教えてくださりありがとうございます。 変更点をメモとして残させていただきます。 .sample_form{ font-size: 0px; } form{ display: inline-block; font-size: 1rem; } ありがとうございました!
ransuS_T

2021/01/07 23:45

過去の記憶が役立てて何よりです
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問