如何编辑<rich:fileupload> CSS?</rich:fileupload>

时间:2013-04-17 03:23:04

标签: jsf file-upload jsf-2 upload richfaces

我正在尝试仅显示按钮add以及按钮下方的上传图片,但无论我在CSS中执行什么操作,richfaces生成的表始终是相同的:

这是我使用richfaces的表单:

<ui:define name="content">
        <h:form>
            <h:panelGrid>
                <rich:fileUpload fileUploadListener="#{fileUploadBean.listener}" id="upload" acceptedTypes="jpg, gif, png, bmp"  ontyperejected="alert('Just JPG, GIF, PNG and BMP are allowed');" maxFilesQuantity="12" immediateUpload="true" >
                    <a4j:ajax event="uploadcomplete" execute="@none" render="info" />
                </rich:fileUpload>

                <h:panelGroup id="info">
                    <h:outputText value="Add picture" rendered="#{fileUploadBean.size==0}" />
                    <rich:dataGrid columns="4" value="#{fileUploadBean.files}" var="file" rowKeyVar="row">
                        <a4j:mediaOutput element="img" mimeType="image/jpeg" createContent="#{fileUploadBean.paint}" value="#{row}" style="width:100px; height:100px;" cacheable="false" />
                    </rich:dataGrid>

                    <br />
                    <a4j:commandButton action="#{fileUploadBean.clearUploadData}" render="info, upload" value="Clear Uploaded Data" rendered="#{fileUploadBean.size>0}" />
                </h:panelGroup>
            </h:panelGrid>
        </h:form>
    </ui:define>

这是如何产生的:

form

我想要一些更简单的东西'因为在另一个时刻我将会有一些jQuery slider插件。但我不能用richfaces生成的这个表消失。 是的皮肤是disable in my richfaces configuration

更新 根据建议,我的CSS现在看起来像这样:

    <style>
    div div.rf-fu { border: 0px; width: 85px; }
    div div.rf-fu-hdr { border: 0px; }
    span span.rf-fu-btn-clr { border: 0px; }
    span.rf-fu-btns-lft{ width: 85px; }
    span.rf-fu-btns-rgh{ display: none; }
    div div.rf-fu-lst { display:none; }
    </style>

现在我的add..文件按钮如下:

enter image description here

这些帖子也很有用:

Should I use 'border: none' or 'border: 0'?
Inner div has borders - how to override with a class on an outer div?

2 个答案:

答案 0 :(得分:5)

您可以使用Adrian的答案来覆盖richfaces css,但是您不需要使用!important来覆盖richfaces css。只需使用selector specificity覆盖由richfaces应用的css。

对于使用important的情况下的实例,请将css应用为:

div div.rf-fu-lst { display:none }它会对你有用。

答案 1 :(得分:2)

我目前正在为我的项目做这件事。您必须覆盖样式表中的richfaces css,如下所示:

.rf-fu, .rf-fu-hdr {
    float: left;
    width: auto;
    border: none;
    background: none;
    padding: 0;
    margin: 0;
}

.rf-fu-btn-cnt-add {
    paddin-left: 0;
    cursor: pointer;
}

.rf-fu-btn-add {
    margin: 0;
}

.rf-fu-btns-rgh, .rf-fu-lst {
    display: none;
}

.rf-fu-btns-lft {
    width: 100%;
}