JaxAdam
@JaxAdam
Junior Full-Stack Developer

Что я делаю не так с модульными стилями?

Компонента:
import React, {Component} from 'react'
import styles from './Videos.module.css'

export default class Videos extends Component{
    render(){
        return(
            <div id="test1" className={`row ${styles.VideoRoom}`}>
                <div className={`col s12 center grey lighten-3 ${styles.HostVideo}`}>
                    Видео хоста
                </div>
                <div className={`col s12 center grey lighten-3 ${styles.MemberVideos}`}>
                    Видео участников
                </div>
            </div>
        );
    }
}

Стили:
.VideoRoom{
    padding: 2rem 0;
}

.HostVideo{
    padding: 5rem 0;
}

.MemberVideos{
    padding: 15rem 0;
}

Работает только класс .VideRoom. Можете подсказать в чем проблема?
  • Вопрос задан
  • 50 просмотров
Решения вопроса 1
@ned4ded
Верстка, Фронтенд
Селектор .col.s12 имеет большую специфичность, чем css-класс из модуля. Чтобы исправить отделите структуру грида от структуры компонента:
import React, {Component} from 'react'
import styles from './Videos.module.css'

export default class Videos extends Component{
    render(){
        return(
            <div id="test1" className={`row ${styles.VideoRoom}`}>
                <div className="col s12 center grey lighten-3">
                   <div className={styles.HostVideo}>
                      Видео хоста
                   </div>
                </div>
            </div>
        );
    }
}


Либо если хотите именно переопределять стили колонки, то попробуйте воспользоваться директивой :global(.class) в css-модулях (подробнее). Должно получиться что-то вроде :global(.col).HostVideo.

О специфичности можно почитать: тут, тут.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы