1

我有一个事件日历,它使用 CSS 将背景涂成红色,以突出假期:

.holiday {
        text-align: center;
        font-size: 11px;
        font-weight: bold;
        color: #ffffff;
        background-color: #da1030;
        border: 1px solid black;
        height:20px;
        width:20px;
}

对于特殊事件,我使用紫色作为背景:

.sp_event {
        text-align: center;
        font-size: 11px;
        font-weight: bold;
        color: #ffffff;
        background-color: purple;
        border: 1px solid black;
        height:20px;
        width:20px;
}

一切正常:这是为了突出本月 1 日的假期 1

这表示本月 5 日的特殊事件 5

但有时我的特别活动会在假期举行。所以在这种情况下,我想让 TD 背景被涂成红色和紫色,将 TD 分成两等分。你们能告诉我如何使用 CSS 来完成吗?TIA。

4

2 回答 2

3

您可以使用td占宽度一半并位于右侧以获得完整宽度/高度的伪元素来完成此操作。

.holiday.sp_event:after {
    position: absolute;
    width: 50%;
    height: 100%;
    right: 0;
    background-color: red;
    content: "";
    top: 0;
}

http://jsfiddle.net/rX7gd/

于 2013-05-11T14:33:09.273 回答
2

这是一个工作小提琴

人们使用的一种解决方案是使用渐变

background: #a423b2; /* Old browsers */
background: -moz-linear-gradient(left, #a423b2 0%, #bf24b4 49%, #da1030 50%, #da1030 100%); /* FF3.6+ */
background: -webkit-gradient(linear, left top, right top, color-stop(0%,#a423b2), color-stop(49%,#bf24b4), color-stop(50%,#da1030), color-stop(100%,#da1030)); /* Chrome,Safari4+ */
background: -webkit-linear-gradient(left, #a423b2 0%,#bf24b4 49%,#da1030 50%,#da1030 100%); /* Chrome10+,Safari5.1+ */
background: -o-linear-gradient(left, #a423b2 0%,#bf24b4 49%,#da1030 50%,#da1030 100%); /* Opera 11.10+ */
background: -ms-linear-gradient(left, #a423b2 0%,#bf24b4 49%,#da1030 50%,#da1030 100%); /* IE10+ */
background: linear-gradient(to right, #a423b2 0%,#bf24b4 49%,#da1030 50%,#da1030 100%); /* W3C */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#a423b2', endColorstr='#da1030',GradientType=1 ); /* IE6-9 */

我使用这个工具创建了这个。它是跨浏览器投诉(IE6 以上),并且要求您根本不对 HTML 进行结构更改。

于 2013-05-11T14:29:43.240 回答