Вам не кажется, что CSS превращается в язык программирования?

P
На сайте с 26.04.2010
Offline
412
#11
ArbNet #:
через скрытые input,

Смысловое назначение элемента другое. Это костыли. Должна быть кнопка или стилизованная под нее ссылка.

ArbNet
На сайте с 27.10.2019
Offline
142
#12
plab #:

Смысловое назначение элемента другое. Это костыли. Должна быть кнопка или стилизованная под нее ссылка.

Конечно кнопка. Оборачивается в label c for="id скрыторго input#l-aside" При клике на кнопку input переключает checked. Через стилизацию в CSS скрывает\показывает нужный блок.

У меня например main расширяется, а в мобильной версии всплывает aside

Например:

@keyframes Expand {
        /* 0% {grid-template-columns: var(--aside) auto;} */
        100% {grid-template-columns: 0 auto;}
}
@keyframes Reduce {
        /* 0% {grid-template-columns: 0 auto;} */
        100% {grid-template-columns: var(--aside) auto;}
}
#l-aside:checked ~ main {
        animation: Expand 1s forwards;
}
#l-aside:not(:checked) ~ main {
        animation: Reduce 1s forwards;
}

@media screen and (orientation:portrait) {
        #l-aside:checked ~ main {
                animation: none;
        }
        #l-aside:not(:checked) ~ main {
                animation: none;
        }
        body > main {
                grid-template-columns: auto;
                grid-template-rows: var(--header) auto var(--footer);
                grid-template-areas: "header" "section" "footer";
        }
        body > main > aside {
                top: 50%;
    left: 50%;
                opacity: 0;
                z-index: 3;
                height: 80%;
                position: fixed;
                transform: translate(-50%,-50%);
        }
        body > main > section {
                opacity: 1;
                transition: all 1s linear;
        }
        #l-aside:not(:checked) ~ main > aside {
                opacity: 1;
                transition: all .25s linear;
        }
        #l-aside:checked:focus ~ main > aside {
                opacity: 0;
    transition: all .25s linear;
        }
}
ЗЫ. И это уже не костыли, а нативные возможности CSS
Z0
На сайте с 03.09.2009
Offline
819
#13
plab #:
Они там не задаются, а меняются. К примеру пункт меню, страница которого открыта в данный момент, должен быть оформлен немного по-другому. Предложите реализацию этого на чистом CSS. 

Эмм, так это я знаю. В примере, который я цитировал не про это же...

A1
На сайте с 23.11.2011
Offline
153
#14
ArbNet #:
Если по хорошему, то HTML, CSS, JS и даже серверный язык по моему должны быть в одном ЯП. А то что сейчас наделали кучу разных, это от тупости разработчиков.. Теперь им приходится заниматься не только поддержкой старых возможностей для совместимости , но и расширением функционала этих разных технологий под новые запросы и потребности пользователей

С РНР тут ничто не сравнится. Такое ощущение, что его писали совершенно незнакомые друг с другом люди.

P
На сайте с 26.04.2010
Offline
412
#15
ArbNet #:
ЗЫ. И это уже не костыли, а нативные возможности CSS

Я все-таки за то, чтобы стили оставались чисто оформлением, а поведение было очевидно:

  < button  onclick="menuOpen()">меню</button>
</header>

<div id="overlay" onclick="menuClose()"></div>
<nav id="bar">
...
var s = document.getElementById("bar");
var o = document.getElementById("overlay");

function menuOpen() {
  s.style.display = "block";
  o.style.display = "block";
}

function menuClose() {
  s.style.display = "none";
  o.style.display = "none";
}
@media (min-width: 1200px) {
  nav {
    display: block;
    ...
  }
  header button {
    display: none;
  }
MP
На сайте с 05.05.2025
Offline
13
#16
ArbNet #:
CSS input:checked прописываются стили для скрытия\показа блока меню.

Даже при клике вне области открытого меню скрывается? А, SSE события может выполнить? А, поддержка таких фишек во всех браузерах? Сможем добавить с каскадной таблицей стилей условное появление и удаление допполей? Именно удаление, что бы в форму при отправке не попадали? CSS не более, чем стилизация. Я бы на нем, кроме, максимум манипуляций с display block, display none ничего не делал

MP
На сайте с 05.05.2025
Offline
13
#17
alexx10 #:
Такое ощущение, что его писали совершенно незнакомые друг с другом люди.

Что в нем плохого?

ArbNet
На сайте с 27.10.2019
Offline
142
#18
plab #:
Я все-таки за то, чтобы стили оставались чисто оформлением, а поведение было очевидно

Для этого придумали ООП не смотря на разделение технологий на разметку, стилизацию, логику, всё же в современных фреймворках используют объекты с свойствами, которые автоматически формируют вьюхи.

ЗЫ. Поэтому я и считаю, что должен быть один язык, а не куча разных подходов, стилизация отдельно, разметка отдельно и прочее, это уже анахронизм.. ИМХО

MP
На сайте с 05.05.2025
Offline
13
#19
ArbNet #:
Поэтому я и считаю, что должен быть один язык

Так пявлялись и появляются новые языки. Каждый хотел сделать новый, единый. По факту появлялось очередное ответвление.

В этом плане мне нравится php. Он универсален. Хочешь - строго типизируй function (array $t, string $b, bool $d) array{}, хочешь не используй типизацию. Поддерживает всё, кроме ассинхронности (хотя многие пытаются в ассинхронность ReactPHP). Каждый может найти свой подход. За это его любят и ненавидят одновременно. 

A1
На сайте с 23.11.2011
Offline
153
#20
MrPi #:
Что в нем плохого?

Анархия

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий