Искажена высота изображения

#css #reactjs #image

#css #reactjs #изображение

Вопрос:

Я создаю веб-сайт для резюме. Я добавляю содержимое в Job.js компонент и сталкиваюсь с проблемой с логотипом. Кажется, что высота увеличивается, когда desc превышает высоту компонента.Если desc короткий, у меня нет этой проблемы. У меня также не возникает этой проблемы, когда flex-direction является столбцом.

Я попытался настроить padding-bottom of .job-container img , но, хотя изображение вернулось к нормальному состоянию, внизу появилось нежелательное заполнение.

Соответствующий код

Job.js

 import React from 'react';

import '../css/Job.css';

function Job(props) {
  console.log(props.name);
  const jobList = props.job.map(j =>
    <div className='job-container'>
      <img src={j.logo} alt={j.alt} />
      <div className='description'>
        <div>
          <a href={j.link} rel='noopener noreferrer' target='_blank'>
            {j.companyName}
          </a>
        </div>
        <div>{j.title}</div>
        <div>{j.duration}</div>
        <div>{j.location}</div>
        <div>{j.desc.map(paragraph => <p>{paragraph}</p>)}</div>
      </div>
    </div>
  )

  return (
    <div>{jobList}</div>
  );
}

export default Job;
  

Job.css

 :root {
    --image-spacing: 30px;
}

.job-container {
    border: 2px solid red;
    padding: 0px 5%;
    display: flex;
    flex-direction: row;
}

.job-container img {
    border: 2px solid red;
    border-radius: 3px;
    display: block;
    height: auto;
    width: 35%;
}

.job-container .description {
    line-height: 1.45;
    padding-left: var(--image-spacing); /* Change this. */
}

.job-container a {
    color: black;
    text-decoration: none;
}

/* Responsive Mode */

@media only screen and (max-width: 768px) {
    .job-container {
        /* Line up description and image. */
        flex-direction: column;
    }

    .job-container img {
        border-radius: 3px;
        margin: auto;
        width: 75%;
    }

    .job-container .description {
        padding-left: 0px;
        padding-top: var(--image-spacing);
    }
}

.content {
    display: block;
}
  

Комментарии:

1. Что вы имеете в виду?

Ответ №1:

Я решил эту проблему, добавив align-self: start; в .job-container img .