0

カスタムのasp.netカレンダーがあります。日付が選択されると、次のスタイルが実行されます。

.calendar-cell
{
    -webkit-border-radius: 7px;
    border-radius: 7px;
    background: rgb(239,239,239); /* Old browsers */
    background: -moz-linear-gradient(-45deg, rgba(239,239,239,1) 0%, rgba(235,235,235,1) 50%, rgba(229,229,229,1) 51%, rgba(254,254,254,1) 100%); /* FF3.6+ */
    background: -webkit-gradient(linear, left top, right bottom, color-stop(0%,rgba(239,239,239,1)), color-stop(50%,rgba(235,235,235,1)), color-stop(51%,rgba(229,229,229,1)), color-stop(100%,rgba(254,254,254,1))); /* Chrome,Safari4+ */
    background: -webkit-linear-gradient(-45deg, rgba(239,239,239,1) 0%,rgba(235,235,235,1) 50%,rgba(229,229,229,1) 51%,rgba(254,254,254,1) 100%); /* Chrome10+,Safari5.1+ */
    background: -o-linear-gradient(-45deg, rgba(239,239,239,1) 0%,rgba(235,235,235,1) 50%,rgba(229,229,229,1) 51%,rgba(254,254,254,1) 100%); /* Opera 11.10+ */
    background: -ms-linear-gradient(-45deg, rgba(239,239,239,1) 0%,rgba(235,235,235,1) 50%,rgba(229,229,229,1) 51%,rgba(254,254,254,1) 100%); /* IE10+ */ /* W3C */
    border-style: solid;
    border-width: thin;
    border-color: inherit;
    background: linear-gradient(135deg, rgba(239,239,239,1) 0%,rgba(235,235,235,1) 50%,rgba(229,229,229,1) 51%,rgba(254,254,254,1) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#efefef', endColorstr='#fefefe',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */
    border-collapse:collapse !important;
    -webkit-box-shadow: 1px 1px 2px 1px rgba(0, 0, 0, 0.08);
    box-shadow: 1px 1px 2px 1px rgba(0, 0, 0, 0.08);
    color: #019fde !important;
}

境界線を追加します。

これにより、カレンダー全体が大きくなります。

境界線の間隔と折りたたみのプロパティを試してみましたが、うまくいきませんでした。

選択した日付に境界線が追加されたときにカレンダーが大きくならないようにする方法はありますか?

ありがとう

4

2 に答える 2

1

残念ながら、それが国境の仕組みです。境界線の幅が 1 ピクセルの場合、1 ピクセルのスペースを占有します。

outline代わりにプロパティを使用できます。これは実質的にボーダーと同じですが、それに伴う望ましくない追加の幅/高さはありません。以下のデモでは、アウトライン化された要素を含む要素のコレクションが、縁取りされた要素を含む要素のコレクションよりも 20 ピクセル狭いことがわかります。

http://codepen.io/cimmanon/pen/wyktr

<div class="container">
  <div class="solid"></div>
  <div class="bordered"></div>
  <div class="solid"></div>
</div>

<div class="container">
  <div class="solid"></div>
  <div class="outlined"></div>
  <div class="solid"></div>
</div>

div.container {
  display: table;
  margin: 1em;
}

div.container div {
  display: table-cell;
  width: 100px;
  height: 100px;
}

.bordered {
  border: 10px solid orange;
}

.outlined {
  outline: 10px solid red;
}

.solid {
  background: #CCC;
}

http://caniuse.com/#search=outline

于 2013-02-25T20:38:14.190 に答える
0

上記のように、サイズが大きくならないアウトラインを使用することも、コンテンツスペースに境界線を入れるボックスサイズを使用することもできます。

ここの例 http://jsfiddle.net/Y5VmT/

div {
    width: 200px;
    height: 200px;
    border: 2px solid black;
    background: grey;
}

.sizing {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
}


<div>
    pppppppppppppp pppppppppppppppppp pppppppppppppppppppppp
    pppppppppppppp pppppppppppppppppp pppppppppppppppppppppp
    pppppppppppppp pppppppppppppppppp pppppppppppppppppppppp
</div>


<div class="sizing">
    pppppppppppppp pppppppppppppppppp pppppppppppppppppppppp
    pppppppppppppp pppppppppppppppppp pppppppppppppppppppppp
    pppppppppppppp pppppppppppppppppp pppppppppppppppppppppp
</div>
于 2013-02-25T20:59:18.253 に答える