Переходы на дисплее: свойство

Теперь я решил эту проблему таким образом,

import javax.net.ssl.HttpsURLConnection;
import javax.net.ssl.SSLContext;
import javax.net.ssl.TrustManager;
import javax.net.ssl.X509TrustManager;
import java.io.OutputStream; 

// Create a trust manager that does not validate certificate chains like the default 

TrustManager[] trustAllCerts = new TrustManager[]{
        new X509TrustManager() {

            public java.security.cert.X509Certificate[] getAcceptedIssuers()
            {
                return null;
            }
            public void checkClientTrusted(java.security.cert.X509Certificate[] certs, String authType)
            {
                //No need to implement.
            }
            public void checkServerTrusted(java.security.cert.X509Certificate[] certs, String authType)
            {
                //No need to implement.
            }
        }
};

// Install the all-trusting trust manager
try 
{
    SSLContext sc = SSLContext.getInstance("SSL");
    sc.init(null, trustAllCerts, new java.security.SecureRandom());
    HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());
} 
catch (Exception e) 
{
    System.out.println(e);
}

Конечно, это решение должно использоваться только в сценариях, где невозможно установить требуемые сертификаты с помощью keytool, например. локальное тестирование с временными сертификатами.

1265
задан codfish555 8 March 2019 в 16:39
поделиться

3 ответа

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

Я добился эффекта, разместив оба параметра

абсолютно и установив для скрытого значения непрозрачность: 0 .

Если вы даже переключите свойство display с none на block , ваш переход на другие элементы не произойдет.

Чтобы обойти это, всегда разрешайте элементу быть display: block , но скройте элемент, отрегулировав любое из этих средств:

  1. Установите высоту на ] 0 .
  2. Установите непрозрачность на 0 .
  3. Поместите элемент за пределы кадра другого элемента, у которого есть overflow: hidden .

Вероятно, есть другие решения, но вы не сможете выполнить переход, если переключите элемент на display: none . Например, вы можете попробовать что-то вроде этого:

div {
    display: none;
    transition: opacity 1s ease-out;
    opacity: 0;
}
div.active {
    opacity: 1;
    display: block;
}

Но это не сработает. По моему опыту, я обнаружил, что это ничего не дает.

Из-за этого вам всегда нужно будет сохранять элемент display: block , но вы можете обойти это, выполнив что-то вроде этого:

div {
    transition: opacity 1s ease-out;
    opacity: 0;
    height: 0;
    overflow: hidden;
}
div.active {
    opacity: 1;
    height: auto;
}
764
ответ дан 19 December 2019 в 20:16
поделиться

Вместо использования display вы можете хранить элемент "вне экрана", пока он вам не понадобится, а затем установить его положение в нужное место и трансформировать его в то же время. Однако это поднимает целый ряд других вопросов, связанных с дизайном, так что ваш пробег может быть разным.

Вы, вероятно, не захотите использовать display в любом случае, поскольку вы хотите, чтобы содержимое было доступно программам чтения с экрана, которые в большинстве своем стараются подчиняться правилам видимости - т.е. если содержимое не должно быть видно глазу, оно не будет отображаться как содержимое для агента.

1
ответ дан 19 December 2019 в 20:16
поделиться

Я нашел лучший путь к этой проблеме, можно использовать Анимацию CSS и сделать потрясающий эффект для показа объектов.

    .item {
     display: none;
}

.item:hover {
     display: block;
     animation: fade_in_show 0.5s
}

@keyframes fade_in_show {
     0% {
          opacity: 0;
          transform: scale(0)
     }
     100% {
          opacity: 1;
          transform: scale(1)
     }
}
0
ответ дан 19 December 2019 в 20:16
поделиться
Другие вопросы по тегам:

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