この2日間、Baixing.comの筆記試験問題を解いているときに、このような問題に遭遇しました。HTML5の新機能を使用して、Baixing.comの既存のモジュールを実装しました。しばらくBaixing.comを閲覧した後、最終的に情報を公開するためのフォームモジュールを選択しました。理由は非常に簡単です。HTML5にはフォームの新機能がたくさんあります。これらの新機能も非常に実用的です。結局のところ、登録、ログイン、投稿など、フォームのある場所が多すぎます...(ちょっと話がそれましたね。) この時点で、元のウェブページのフォームにこの要素が表示されました 私の最初の反応は、はは、それは単なる入力要素で、CSS でスタイルをカスタマイズできる、ということでした。その後、当然のことながら、Baixing.com の特定のスタイルを確認するために「右クリック」-「要素を検査」する準備をしましたが、後でわかりました... 間違って開いたに違いありません... この場合、もちろん自分でやらなければなりません。 1 つ確認できることは、ファイルをアップロードするためのこのフォーム コントロールでは input[type="file"] を使用する必要があるということです。 OK、次のコード行を追加するだけです: コードをコピー コードは次のとおりです。<入力タイプ="ファイル" /> Chrome ブラウザで更新します。 これがデフォルトのスタイルであることは間違いありませんが、このデフォルトのスタイルを変更するのは難しいことがわかりました。最も厄介なのは、ブラウザによってデフォルトのスタイルが異なることです。インターネット上の画像からそれが非常に明らかです。 (だから私は言う、あなたたちブラウザはまったく従順ではなく、お互いにうまくコミュニケーションをとっていない。あなたたちはとても高いところにいるが、フロントエンドの学生は苦しんでいる。) ただし、解決策はまだ簡単に考えられます。要素を使用して入力をラップし、その要素に他の必要な要素を追加し、スタイルを設定して目的の効果を実現します。入力要素の位置の値を absolute に設定して外側の要素を塗りつぶし、入力を透明にします。 HTML コードは次のとおりです。 コードをコピー コードは次のとおりです。<div id="入力ファイル"> <span id="text">クリックしてアップロード</span> <input id="ファイル" type="ファイル" /> </div> 対応する CSS コードは次のとおりです。 コードをコピー コードは次のとおりです。#入力ファイル{ position: relative; /* 子要素の位置を確認する*/ 幅: 120ピクセル; 高さ: 30px; 背景: #eee; 境界線: 1px 実線 #ccc; テキスト配置: 中央; カーソル: ポインタ; } #文章 { 表示: インラインブロック; 上マージン: 5px; 色: #666; フォントファミリー: "黑体"; フォントサイズ: 18px; } #ファイル { 表示: ブロック; 位置: 絶対; 上: 0; 左: 0; width: 120px; /* 幅と高さは周囲の要素と一致する必要があります*/ 高さ: 30px; 不透明度: 0; -moz-opacity: 0; /* 古いブラウザと互換性あり */ フィルター: alpha(opacity=0); /* IE互換 */ } 表示効果は以下のようになります。 しかし、ここでもまだバグがあります。このようにボタンを作成すると、マウスをボタンの上に置くとクリックできるはずです。しかし、すべての要素に cursor:pointer; 属性を追加しても、一部の領域はポインターとして表示されます。この問題を解決できる専門家はいますか? |
<<: Vue3 における親コンポーネントと子コンポーネント間の値の転送の詳細な説明
HTML では、<img> タグはテキスト内の画像タグを定義するために使用されます。その...
目次背景複合インデックスを理解する左端一致原則フィールド順序の影響複合インデックスは単一のインデック...
導入前の記事で述べたように、NodeJS には 2 種類のスレッドがあります。1 つは、ユーザー リ...
01. コマンドの概要tr コマンドは、標準入力からの文字を置換、圧縮、削除できます。ある文字セット...
以下のように表示されます。表から条件フィールドでグループ化仮想テーブルとフィールドを作成し、フィール...
1. インストールバージョンの詳細 サーバー: MariaDB サーバーバージョン: 5.5.60-...
目次1. 制約の概念と分類2. 5つの制約の追加と削除2.1 制約を追加する6つの方法2.2 制約を...
目次1 現在のデータベースの内容を表示し、データベースをバックアップする2 bin_log関数を有効...
Ubuntu コマンドライン ウィンドウで次の操作を実行します。 1. 仮想環境をインストールする...
目次1. 説明2. インストール3. テスト1. 説明Vue Router は、Vue.js の公式...
目次1. 型2. インスタンス3. コンストラクター4.toString() この記事では、4 つの...
VMware12.0+Ubuntu16.04+MySQL5.7.22 インストールチュートリアルの詳...
JS には、文字列をインターセプトするための 3 つのメソッド、 slice() 、 substri...
新年の初めに、友人の健康と2013年が素晴らしい年となることを心からお祈りいたします。この記事では、...
目次1. プロセス2. コアアーキテクチャ2.1 サーバー層の基本コンポーネントの紹介3. ステート...