链接的样式表缺少CSS元素

3
我有一个简单的表格,我想将其右对齐输入框。我遇到的问题是无法使CSS文件中包含的右对齐属性应用于输入属性。当我在Chrome数据检查器中查看CSS文件时,它仅显示.table-responsive属性,而不显示输入或表属性。如果我在Chrome检查器中手动输入这些属性,它们就会被应用,因此我认为这不是我的结构问题。
我想知道为什么只显示.table-responsive属性,而其他属性却没有?我已经阅读过可能是格式错误,但我很难找出我的格式在哪里出了问题。
我使用的是Bootstrap和一个Bootstrap主题,以防万一可能会有所影响。
CSS
table {
    border: 1px solid #CCC;
    border-collapse: collapse;
}

input {
    text-align: right;
}

.table-responsive {
    display: contents;
}

Chrome检查器CSS

.table-responsive {
    display: contents;
}

HTML

<html>
    <head>
        <link rel="stylesheet" type="text/css" href="style/Journalize.css" />

        <title>Journalize</title>
    </head>

</html>
    <body>
        <br/>
        <h2>Journalize</h2>
        <form action="" method="post">
        <div class="container-fluid">
            <div class="row">
                <div class="col-md-12">
                    <table border="1" class="table-responsive table-bordered table-hover">
                        <thead>
                            <tr>
                                <th>Transaction ID</th>
                                <th>Status</th>
                                <th>Date</th>
                                <th>Type</th>
                                <th>Account</th>
                                <th>Debit</th>
                                <th>Credit</th>
                                <th>User</th>
                            </tr>
                        </thead>
                        <?php retrieveJournal(); ?>

PHP

function retrieveJournal() {
        ...
            echo '<tr align="center">';
                echo '<td> <span>' .$row['transaction_id']. '</span> </td>';
                echo '<td> 
                        <select name="status[]">
                            <option '.$approvedStatus.'>Approved</option>
                            <option '.$pendingStatus.'>Pending</option>
                            <option '.$rejectedStatus.'>Rejected</option>
                        </select>
                    </td>';
                echo '<td> <input name="transactiondate[]" readonly value="' .$row['transaction_date']. '"> </td>';
                echo '<td> 
                        <select name="transactiontype[]">
                            <option '.$normalType.'>Normal</option>
                            <option '.$adjustingType.'>Adjusting</option>
                            <option '.$closingType.'>Closing</option>
                        </select>
                    </td>';
                echo '<td>
                        <input name="transactionaccount[]" readonly value="' .$accountRow['account_name']. '">
                        <br/>
                        <span>Description: </span><input name="description[]" value ="' .$row['description']. '">
                      </td>';
                echo '<td> <input name="debitAmount[]" readonly value="' .$row['debit_amount']. '"> </td>';
                echo '<td> <input name="creditAmount[]" readonly value="' .$row['credit_amount']. '"> </td>';
                echo '<td> <input name="user_id[]" readonly value="' . $usernameRow['username'] . '"> </td>';
            echo '</tr>';
        } 
    }
1个回答

1
在开发者选项中,元素未显示的原因在于您的浏览器缓存了旧版本的CSS文件。
您可以通过在末尾添加一个随机版本号来防止浏览器加载缓存文件,例如:
<link rel="stylesheet" type="text/css" href="style/Journalize.css?v=<?= date("Ymd") . time(); ?>" />

给你一个输出,它总是一个新版本,这样浏览器就不能加载旧的缓存版本。
style/Journalize.css?v=201810271540661219

太棒了。我应该在无痕模式下测试它,因为那立刻证实了你所说的。非常感谢!! - Joseph Chamberlain
你知道为什么在选项中手动清除“Cookies”页面上的网站不能解决这个问题吗?在发布问题之前,我尝试过这种方法,但似乎并没有解决缓存问题。 - Joseph Chamberlain
1
浏览器不使用cookie进行缓存,您需要前往“选项>高级>清除浏览数据>缓存的图像和文件>清除数据”。希望这可以帮到您。 - Jaquarh
没问题。再次感谢! :) - Joseph Chamberlain

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接