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

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

ただいまの
回答率

87.50%

ホームページの画像が切れてしまう・・・

解決済

回答 1

投稿

  • 評価
  • クリップ 0
  • VIEW 795

score 6

前提・実現したいこと

ホームページをレスポンシブ対応させたいです。

発生している問題・エラーメッセージ

画像が切れてしまい、1000px以下にになった場合に画像が切れてしまいます。。。

該当のソースコード

```HTML&CSS
ソースコード
@charset "UTF-8";
/*------------------------------
共通パーツ
------------------------------*/
.section {
padding: 100px 0;

.section__title {
margin-bottom: 50px;
font-size: 3.2rem;
line-height: 1.0;
text-align: center;
}

.section__title span {
display: inline-block;
padding: 10px 22px;
position: relative;
}

.sectiontitle span::before, .sectiontitle span::after {
content: '';
display: block;
width: 16px;
height: 16px;
position: absolute;
z-index: 1;
}

.section__title span::before {
top: 0;
left: 0;
background: linear-gradient(135deg, #8b4513 0%, #8b4513 50%, transparent 50%, transparent 100%);
}

.section__title span::after {
right: 0;
bottom: 0;
background: linear-gradient(135deg, transparent 0%, transparent 50%, #8b4513 50%, #8b4513 100%);
}

.common-inner {
width: 1000px;
margin: 0 auto;
}

/* よく出てくる(であろう)ボタン */
.primary-button {
display: flex;
justify-content: center;
align-items: center;
min-width: 280px;
height: 60px;
padding: 0 20px;
box-sizing: border-box;
font-size: 1.6rem;
color: #ddd;
background-color: #fff;
border: 1px solid #ddd;
border-radius: 4px;
position: relative;
transition: 0.2s ease 0s;
transition-property: background-color, color;
}

.primary-button::before, .primary-button::after {
content: '';
display: block;
width: 10px;
height: 10px;
position: absolute;
right: 5px;
bottom: 5px;
z-index: 1;
transition: opacity 0.2s ease 0s;
}

.primary-button::before {
background: linear-gradient(135deg, transparent 0%, transparent 50%, #8b4513 50%, #8b4513 100%);
opacity: 1;
}

.primary-button::after {
background: linear-gradient(135deg, transparent 0%, transparent 50%, #fff 50%, #fff 100%);
opacity: 0;
}

.primary-button:hover {
background-color: #008DD5;
color: #fff;
}

.primary-button:hover::before {
opacity: 0;
}

.primary-button:hover::after {
opacity: 1;
}

.primary-button--monochrome {
color: #333;
border-color: #333;
}

.primary-button--monochrome:hover {
background-color: #333;
}

.primary-button--monochrome::before {
background: linear-gradient(135deg, transparent 0%, transparent 50%, #333 50%, #333 100%);
}

/*------------------------------
ページヘッダー
------------------------------*/
.page-header__inner {
display: flex;
align-items: baseline;
min-height: 480px;
height: 20vw;
padding: 10px;
background-image:url(../img/main-header.png);
background-size: cover;
position: relative;
}

.page-header__title {
font-size: 3.0rem;
line-height: 1.5;
color: #fff;
/* 背景色(黒) */
}

.page-header__title .black-belt {
padding: 3px 5px;
background-color: #ddd;
}

.page-header__campaign {
position: absolute;
right: 20px;
bottom: 20px;
z-index: 1;
}

.page-header__campaign a {
display: flex;
justify-content: center;
align-items: center;
width: 180px;
height: 180px;
background-color: #fff;
box-sizing: border-box;
border: 5px solid #008DD5;
border-radius: 50%;
font-size: 2.4rem;
line-height: 1.5;
text-align: center;
color: #008DD5;
transition: 0.2s ease 0s;
transition-property: color, background-color;
}

.page-header__campaign a:hover {
background-color: #008DD5;
color: #fff;
}

/* css-browser-selectorを使って付与したクラス名を使って、影響範囲をwindowsに限定する */
.windows .page-header__title .black-belt {
padding: 2px 8px 0;
background-color:#ddd ;
}

/* ヘッダーのナビゲーション */
.header-navigation {
display: flex;
justify-content: space-between;
align-items: center;
padding-left: 100px;
background-color: #A9D92F;
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}

.header-navigation__list {
display: flex;
}

.header-navigation__list li {
line-height: 1.0;
}

.header-navigation__list li:first-child {
margin-left: -10px;
}

.header-navigation__list li:not(:last-child) {
margin-right: 30px;
}

.header-navigation__list li a {
display: inline-block;
padding: 10px;
font-size: 1.6rem;
line-height: 1;
color: #fff;
transition: opacity 0.2s ease 0s;
}

.header-navigation__list li a:hover {
opacity: 0.7;
}

.header-navigation__contact a {
display: inline-block;
padding: 30px 50px;
background-color: #A9D92F;
font-size: 1.6rem;
line-height: 1;
color: #fff;
position: relative;
}

.header-navigation__contact a::after {
content: '';
display: block;
width: 100%;
height: 100%;
background-color: #fff;
opacity: 0;
position: absolute;
top: 0;
left: 0;
z-index: 1;
transition: opacity 0.2s ease 0s;
}

.header-navigation__contact a:hover:after {
opacity: 0.3;
}

/*------------------------------
最新情報
------------------------------*/
.news-list {
width: 640px;
}
time{
text-align: center;
}

.news-list:not(:last-child) {
margin: 0 auto 30px;
}

.news-list__item a {
display: flex;
justify-content: space-between;
font-size: 1.6rem;
line-height: 1.75;
color: #000;
text-align: center;
}

.news-list__item a:hover {
text-decoration: underline;
}

.news-list__item a span {
width: 470px;
}

.news-list__item:not(:last-child) {
margin-bottom: 20px;
}

.news-page-link {
text-align: center;
}

.news-page-link a {
font-size: 1.6rem;
color: #008DD5;
}

.news-page-link a:hover {
text-decoration: underline;
}

/*------------------------------
サービスの特長
------------------------------*/

feature {

background-image: url(../img/header.png);
background-size: cover;
background-color: rgba(255,255,255,0.8);
background-blend-mode: lighten;
}

.feature-block{
margin: 10px, 50px 50px 10px;
}

.feature-block__text {
width: 1000px;
font-size: 1.6rem;
line-height: 1.75;
text-align: center;
}

.feature-block__button {
margin-top: 40px;
}

/*------------------------------
3つの強み
------------------------------*/
.advantage-list {
counter-reset: advantage-counter;
/* 「n番目」という概念自体がリストに依存するので、あえて「.advantage-listの子要素の.advantage-block__title:before」という形で記述する */
}

.advantage-list__item:not(:last-child) {
margin-bottom: 50px;
}

.advantage-list .advantage-block__title:before {
counter-increment: advantage-counter;
content: counter(advantage-counter) ". ";
}

.advantage-block {
display: flex;
align-items: center;
}

.advantage-block__image {
overflow: hidden;
width: 300px;
height: 300px;
margin-right: 40px;
border-radius: 50%;
}

.advantage-block__inner {
flex: 1;
}

.advantage-block__title {
margin-bottom: 20px;
font-size: 2.4rem;
line-height: 1.5;
border-bottom: 2px solid #72d500;
}

.advantage-block__text {
font-size: 1.6rem;
line-height: 2;
}

/*------------------------------
カルーセル
------------------------------*/
.carousel-block{
max-width: 100%;
margin: 0 auto; 
}

/*------------------------------
フォーム
------------------------------*/
.contact-form {
width: 600px;
margin: 0 auto;
}

.contact-form__send-button {
margin: 50px auto 0;
}

.form-parts {
display: block;
margin-bottom: 30px;
}

.form-parts__label {
display: block;
margin-bottom: 10px;
font-size: 1.6rem;
line-height: 1;
}

input[type=text], input[type=email] {
display: block;
width: 100%;
padding: 10px;
box-sizing: border-box;
border: 1px solid #000;
border-radius: 4px;
font-size: 1.6rem;
}

.select-wrapper {
display: block;
width: 200px;
height: 40px;
border: 1px solid #000;
border-radius: 4px;
box-sizing: border-box;
position: relative;
}

.select-wrapper select {
width: 100%;
height: 100%;
padding-left: 10px;
box-sizing: border-box;
font-size: 1.6rem;
}

.select-wrapper::after {
content: '';
display: block;
width: 12px;
height: 9px;
position: absolute;
top: 50%;
right: 10px;
z-index: 1;
transform: translateY(-50%);
}

textarea {
width: 600px;
height: 200px;
padding: 10px;
box-sizing: border-box;
border: 1px solid #000;
border-radius: 4px;
font-size: 1.6em;
line-height: 1.75;
resize: none;
}

/*------------------------------
ページフッター
------------------------------*/
.page-footer {
padding: 50px 0;
background-color: #A9D92F;
}

.page-footer__nav {
display: flex;
}

.page-footer__nav .footer-nav-block:not(:last-child) {
margin-right: 100px;
}

.footer-nav-block__category {
margin-bottom: 40px;
font-size: 1.4rem;
line-height: 1.0;
color: #fff;
}

.footer-nav-block__list {
font-size: 1.4rem;
line-height: 1;
}

.footer-nav-block__list li:not(:last-child) {
margin-bottom: 20px;
}

.footer-nav-block__list li a {
color: #fff;
}

.footer-nav-block__list li a:hover {
text-decoration: underline;
}
/* メディアクエリ */
@media screen and (min-width:1000px) {
body{
min-width: 1000px;
}

}
}

試したこと

ボディ要素に対してmin-width:1000pxを試みましたが、直らず苦戦しています。

補足情報 それ以外にもblock要素の変更などを試してみましたが、うまくいきません・・・

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

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 1

checkベストアンサー

0

勘で回答してみます。


[1] まず以下をコメントアウトしてください。
(「bodyの横幅が最小1000px」という指定なので、例えば画面幅が900pxになってもbodyの幅が1000pxとなり、はみ出す原因になりそうです。)

@media screen and (min-width:1000px) {
  body {
    min-width: 1000px;
  }
}

[2] width: 1000px;の指定がある箇所すべてに、max-width: 1000px;を指定してください。

.common-inner {
  /* width: 1000px; */
  max-width: 1000px;

  margin: 0 auto;
} 

.feature-block__text {
  /* width: 1000px; */
  max-width: 1000px;

  font-size: 1.6rem;
  line-height: 1.75;
  text-align: center;
}

画像、というのはbackground-image:url(../img/main-header.png);など背景画像のことだと理解しています。

うまくいけば解決できるかもしれません。


背景画像 (background-image) ではなく、画像 (<img>) の場合、以下の[3]を指定してみてください。

[3] とりあえず画像の横幅の最大値を指定

img {
  max-width: 100%;
}

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2021/06/14 20:20

    ありがとうございます。解決できました!

    キャンセル

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

  • ただいまの回答率 87.50%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る