0

ラチェット モーダルを変更して、上から下にスライドし、全高ではなく画面の 50% しか占有しないようにするにはどうすればよいですか?

モーダルのCSSは次のとおりです。

.modal {
  position: fixed;
  top: 0;
  z-index: 11;
  width: 100%;
  min-height: 100%;
  overflow: hidden;
  background-color: #fff;
  opacity: 0;
  -webkit-transition: -webkit-transform .25s, opacity 1ms .25s;
     -moz-transition:    -moz-transform .25s, opacity 1ms .25s;
          transition:         transform .25s, opacity 1ms .25s;
  -webkit-transform: translate3d(0, 100%, 0);
      -ms-transform: translate3d(0, 100%, 0);
          transform: translate3d(0, 100%, 0);
}
.modal.active {
  height: 100%;
  opacity: 1;
  -webkit-transition: -webkit-transform .25s;
     -moz-transition:    -moz-transform .25s;
          transition:         transform .25s;
  -webkit-transform: translate3d(25%, 0, 0);
      -ms-transform: translate3d(25%, 0, 0);
          transform: translate3d(25%, 0, 0);
}

私はさまざまな値で遊んでいますが、思い通りにできません。

4

1 に答える 1

1

これが近いと確信していますが、現時点では実際にテストすることはできません。

transform: translate3d(0,-100%,0);画面の上部でモーダルを開始し、transform: translate3d(0,50%,0);アクティブなときに中央に移動する必要があります。そして、明らかな高さが50%に変わります...

.modal.active {
    height: 50%;
    opacity: 1;
    -webkit-transition: -webkit-transform .25s;
    -moz-transition: -moz-transform .25s;
    transition: transform .25s;
    -webkit-transform: translate3d(0,50%,0);
    -ms-transform: translate3d(0,50%,0);
    transform: translate3d(0,50%,0);
}

.modal {
    position: fixed;
    top: 0;
    z-index: 11;
    width: 100%;
    min-height: 50%;
    overflow: hidden;
    background-color: #fff;
    opacity: 0;
    -webkit-transition: -webkit-transform .25s,opacity 1ms .25s;
    -moz-transition: -moz-transform .25s,opacity 1ms .25s;
    transition: transform .25s,opacity 1ms .25s;
    -webkit-transform: translate3d(0,-100%,0);
    -ms-transform: translate3d(0,-100%,0);
    transform: translate3d(0,-100%,0);
}
于 2015-09-11T14:34:47.427 に答える