프론트엔드 포럼

언젠간 곧 개선되겠지만, 묵은 때같은 존재죠.

 

https://github.com/rhymix/rhymix/issues/2311

.btn 같은 일반적인 클래스명에 !important를 붙여버리다니
굳이 붙여야만 했을까 싶네요.
.btn 속성을 좀더 규칙을 정해서
.xe-btn 이라고 해두던가-_-
혹은 .xe-btn-wrap .btn 이라고 하던가..
일괄적으로 규칙을 정해서 수정해주시면 좋겠습니다.
관리자에서 사용하는 클래스명과 일반적인 클래스명이 구분되서 들어가줘야하지 않나 싶네요.

image.png

 

개인적으로는 !important를 빼버리고, 필요없는 스타일(text-shadow, background-image, filter) 속성은 지워버리고 사용합니다. 매번 업데이트마다 덮어쓰기가 번거롭지만 사실 저게 없어도 하등 사용하는데 전혀 불편함은 없습니다. 오히려 군더더기 없는 스타일이 더 깔끔합니다. 

 

ps. 굳이 유지하고자 하신다면 저 클래스를 유지하면서 개선하는 쉬운 방법도 있습니다.

관리자화면, 게시판설정화면 등에서는 body class="x" 선언하고 .x .btn 이런 식으로 해도 충분한 요소입니다. 

eond Lv. 13
# 라이믹스 스킨 제작은 어디? >>>> XE 레이아웃, 라이믹스 스킨제작은 이온디에서 커스터마이징해드립니다.
# 빠른 라이믹스 커뮤니티용 호스팅을 찾고 계신가요? >>>> 이온디호스팅 서비스는 PHP8 & Redis 서버 캐시를 활용하여 라이믹스에 최적화된 호스팅 서비스를 제공해드립니다. (서버세팅시 웹패널, 내도메인메일서비스도 함께 구축해드립니다.)
https://eond.com

댓글 13

  • 2025.07.16 10:30 #1911995

    자료 만들면서 .btn 클래스를 고집하는 분들도 정말 답답합니다. (소신 발언)

    .btn은 그냥 예약어라고 간주하고, <button class="myBtn"> 처럼 다른 클래스를 쓰면

    XE의 레거시 스타일은 무시하고 내 마음대로 커스터마이징할 수 있는데 말이죠.

     

    아, 확장변수 입력란은 코어에서 생성한다고요?

    $('.btn').addClass('myBtn').removeClass('btn');

     

    내가 선호하는 특정 라이브러리 때문에 무조건 .btn을 사용해야겠다!!! 라고 고집하신다면

    .btn 기본 스타일을 제거하는 방법도 몇 년 전부터 지원합니다.

     

    @php

        define('DISABLE_XE_BTN_STYLES', true);

    @endphp

     

    뭐 언젠가는 정리될 레거시이지만, 지금도 회피할 방법을 다 제공해 드리는데

    회피하지 않고 계속 들이받으면서 불편하다고 투덜거리는 것이 지겹지도 않나요?

    누가 .btn 쓰라고 칼 들고 협박한 것도 아니고...

  • 2025.07.16 11:52 #1912013

    무서워요 😖

  • 2025.07.16 20:19 #1912029

    저.. 이거랑 관계는 없지만, 템플릿에서 중괄호 중첩되면 파싱 에러나는 거는 혹시 어쩔 수 없는 문제인 것인가요? AI가 의외로 힘들어하는 부분이라 혹시 개선될 수 있을까 해서요.

  • 2025.07.16 23:51 #1912045

    템플릿 v2 (Blade) 문법을 쓰시면 훨씬 낫습니다. AI도 Blade를 훨씬 잘 이해하고요.

  • 2025.07.17 09:19 #1912051

    아! 그렇군요. 설명을 보니 2.2부터 정식지원이라고 되어있는데 2.1.19에서도 사용가능한건가요? 이미 솔루션을 다 만들어놓으셨는데 몰랐네요.. ㅠ.ㅠ 

  • 2025.07.17 09:23 #1912055

    코어를 업데이트 하지 못하는 사정이 있는게 아닌 이상 업데이트 하시는건 어떠신지요?

  • 2025.07.17 10:17 #1912063

    코어에 소소한 수정이 되어있는 곳이 3군데 있는데 2군데가 기억이 나질 않아요 엉엉 분명히 어쩔 수 없는 이유가 있어서 수정한 걸텐데 머드라 밖에 기억이 나질 않습니다 ㅠㅠ

  • 2025.07.16 12:47 #1912021

    저도 개인적으로 자료나 외부 납품할 때에 .btn은 피하는 편 입니다.

    이미 코어에서 예약해서 쓰고 있는거나 다름없는 class들은 피해야지요.

     

    만약 정말 특정 라이브러리 or 프레임워크에서 .btn을 바꿀 수 없다면 XE버튼 스타일을 끄면 되고요

     

    대안이 없는 것은 아닌데 급한게 아니라면 천천히 기다려보시죠 ㅎ

  • 2025.07.17 12:13 #1912067

    클래스 규칙에 !important 붙인것을, 오히려 회피하는 방법을 만드는게 더 이상해보여서요.

    그걸 만들바에 올바른 방법으로 고치는게 더 맞는 방법이 아닐까 같이 이야기나눠보고 싶었습니다.

    이제는 고쳐지겠지만 몇년째 안 고치는게 희한해서요. 그리고 같이 이야기나눠보면서 좀 더 올바른 방향이 나오지 않을까 생각했습니다.

  • 2025.07.17 12:17 #1912071

    고쳐진다라기 보다는 개선이 맞는거 같습니다.

    "언젠가는" 개선이 되겠지만, 현재로써는 회피 방법이나 대안이 많으니 우선순위는 내려갈 수 밖에 없겠죠 ^^

     

    요즘은 Tailwind도 쓰고 다양한 프론트엔드 프레임워크들이 많이 개선되어서 내가 원하는 class로도 제어할 수 있는 만큼 다양한 방법을 모색해보시는 것도 좋겠습니다 ㅎㅎ

  • 2025.07.17 13:34 #1912075

    레거시 코드에 !important가 있으면 올바르지 않은 것인가요?

     

    코어에서 오래 전부터 예약어로 취급하고 있는 클래스명을 단지 내가 쓰고 싶은 단어라고 해서, 임의로 다른 스타일로 덮어씌우기 편하게 바꿔 달라고 하는 것은 올바른 사용법인가요? !important 쓰지 말라고 하는 고수님들께 한번 여쭤보세요. 애초에 겹치는 클래스명을 사용하지 않는 것이 더 올바르다고 말씀하시지 않을까요?

     

    이건 옳고 그름의 문제가 아니고 개인 취향의 문제라고 생각합니다. 그러니까 당연히 우선순위는 저 아래에...

  • 2025.07.17 21:39 #1912122

    과도한 !important의 사용은 유지보수를 어렵게 하고, 다른 써드파티 모듈 간의 CSS 특이성을 저해한다고 생각합니다.

    !important를 단계적으로 최소화하고, 제가 봤을 땐 저게 없어도 무방하다고 보여지고, .x .btn 이런 식의 사용이 더 맞지 않을까 봅니다.

    레거시 시스템 호환성이라는 제약 하에서 나름 체계적으로 고민한 흔적은 보이지만 좀 더 현대적 관점에서는 오히려 지금의 방법보다는 제가 제안드린 방법으로의 개선이 더 낫지 않을까 싶어 화두를 던져보았습니다.

     

  • 2025.07.21 15:47 #1912272

    저는 공통된 클래스명은 절대 안쓰고있지만 일부 구입한 스킨에서 btn을 쓰는경우가 있더라구요 ㅠㅠ
    뭐 눈에 보이면 하나하나 고치고 있습니다.