1

まず、これは商用ソフトウェアです。何が起こっているのかを確認できるように、リンクを共有することはできません。うーん。すべてを難しくします。

印刷用に css のブロックを作成しました。ここに私のステップがありました:

  1. アプリケーションでページを読み込む
  2. 開発者ツールから HTML をコピーする
  3. htmlをjsfiddleに貼り付けます(したがって、すべてのクラス/構造が適切に存在します)
  4. css を jsfiddle に記述します。
  5. cssをjsfiddleからinquiryPrint.cssファイル(印刷用にロードするファイル)にコピーします
  6. 一部の CSS は機能しますが、一部は機能しません

私が考慮したこと:

  • オーバーライドの問題。InquiryPrint.css は最後にロードされたファイルであり、オーバーライドを最後に適用する必要があります
  • 印刷CSSファイルは、印刷のメディアタイプでのみ呼び出されるわけではありません...実際、次のとおりです。

    printWindow.document.write('<link rel="stylesheet" href="../css/InquiryPrint.css" type="text/css" />');
    
  • これが最も重要だと思います。サイトは、inquiryPrint.css ファイルから有効な CSS セレクターの一部を取得していますが、すべてではありません。たとえば、.row を認識してその CSS を適用しますが、.admItem を認識せず、その CSS を適用します。そして、これは jsfiddle で正しく動作するものです。つまり、.admItem は jsfiddle では動作しますが、私のアプリでは動作しません。

私が試したこと:

  • 閉じる/再開する
  • クロムハードリフレッシュ (cmd-shift-R)
  • これは共有コードです。私は自分の変更を開発環境にプッシュし、同僚のページにプルダウンして、彼のコンピューターでも機能していないことを確認しました。

アップデート

  1. これはオーバーライドの問題ではありません。他のすべてのcssファイルを削減/削除しましたが、問題は解決しません.
  2. これは、複雑なセレクターの特異性の問題ではありません。ほとんどすべてのセレクターは単一層/レベルです (例を参照)。
  3. これはブラウザの問題ではありません。Chrome や Firefox では機能しません (もちろん、これら 2 つのページのレンダリングはわずかに異なります)。
  4. 私はもともとjsfiddleからカット/ペーストしていたので、カット/ペーストの問題かもしれないと思いました. そうではありません-私たちは修正なしで手作業でクラスを書きました。
  5. これはスペルの問題ではありません。「.admItem」を「.georgeItem」に置き換えてテストし、それを正しい場所にカット アンド ペーストしましたが、修正されませんでした。
  6. 繰り返しますが、このコンテンツではなく、ファイルから他のコンテンツが表示されます。
  7. css ファイル全体を空にして、1 つのクラスだけを残しましたが、まだそれを取得できませんでした。
  8. 埋め込まれた CSS を HTML ファイルの先頭に入れました。この 1 つのクラスではそれも取得されませんが、そこに配置した他の値 (例: body text transform: uppercase) は取得されます。
  9. 開発者ツールをクリックして、現在の正しい変更を含む正しい css ファイルを表示できるため、ポインター/構文の問題ではありません。ファイルがそこにあることがわかり、他の値ではなく、そこからいくつかの値が選択されます。

いくつかのスクリーンショット:

Chrome デベロッパー ツール

クロム開発者ツール

埋め込み CSS

埋め込みCSS

これがcssファイル全体です。.georgeItem { text-transform:lowercase!important; }

.admItem {
    display:-webkit-flex;
    -webkit-flex-direction:row;
    -webkit-justify-content:flex-start;
}

.heading {
  font-weight: 700;
  padding: 10px 0px;
}

h1 {
  font-weight: 700;
  padding: 10px 0px;
  text-transform: uppercase;
  font-size: 15px;
  font-size: 1.5rem;
  margin: 0 0 5px 0;
}
h2 {
  font-weight: 700;
  padding: 10px 0px;
  font-size: 14px;
  font-size: 1.4rem;
}
h3 {
  font-weight: 700;
  padding: 10px 0px;
  font-size: 13px;
  font-size: 1.3rem;
}
h4 {
  font-weight: 700;
  padding: 10px 0px;
  font-size: 12px;
  font-size: 1.2rem;
}
h5 {
  font-weight: 700;
  padding: 10px 0px;
  font-size: 11px;
  font-size: 1.1rem;
  color: #4c7a87;
}
h6 {
  font-weight: 700;
  padding: 10px 0px;
  font-size: 10px;
  font-size: 1rem;
  color: #66909c;
}
p {
  font-size: 10px;
  font-size: 1rem;
  padding: 0 0 5px 0;
  color: #515151;
}
em {
  font-style: italic;
}
strong {
  font-weight: 700;
}
pre em {
  font-style: italic;
  color: #686667;
}

.inquiryPrint {
  font-family: 'Trebuchet MS',Helvetica,sans-serif;
  font-size: 10px;
  font-size: 1rem;
}


* {
  background: transparent !important;
  color: black !important;
  text-shadow: none !important;
  filter: none !important;
  -ms-filter: none !important;
}
/* Black prints faster: h5bp.com/s */
a,
a:visited {
  text-decoration: underline;
}
a[href]:after {
  content: " (" attr(href) ")";
}
abbr[title]:after {
  content: " (" attr(title) ")";
}
.ir a:after,
a[href^="javascript:"]:after,
a[href^="#"]:after {
  content: "";
}
/* Don't show links for images, or javascript/internal links */
pre,
blockquote {
  border: 1px solid #999;
  page-break-inside: avoid;
}
table {
  border-collapse: collapse;
}
thead {
  display: table-header-group;
}
/* h5bp.com/t */
tr,
img {
  page-break-inside: avoid;
}
img {
  max-width: 100% !important;
}
@page  {
  margin: 0.5cm;
  size: landscape;/*does not work in some browsers like chrome */
}
p,
h2,
h3 {
  orphans: 3;
  widows: 3;
}
h2,
h3 {
  page-break-after: avoid;
}
.inquiryPrint table {
  width: 100%;
  background-color: #ffffff;
}
.inquiryPrint tr,
.inquiryPrint thead tr,
.inquiryPrint tbody tr,
tr,
th,
td {
  page-break-inside: avoid;
}
.inquiryPrint tr th,
.inquiryPrint thead tr th {
  border-bottom: 2px solid #c0c0c0;
  padding: 5px;
}
.inquiryPrint tr,
.inquiryPrint tbody tr {
  border-bottom: 1px dashed #c0c0c0;
  vertical-align: top;
}
.inquiryPrint tr:last-child,
.inquiryPrint tbody tr:last-child {
  border-bottom: none;
}
.inquiryPrint tr td {
  padding: 5px 10px 10px 2px;
  text-align: center;
}
.inquiryPrint tr td,
.inquiryPrint tbody tr td {
  text-align: center;
}
.inquiryPrint tr td.right,
.inquiryPrint tr th.right,
.inquiryPrint tbody tr td.right,
.inquiryPrint thead tr th.right {
  text-align: right;
}
.inquiryPrint tr td.left,
.inquiryPrint tr th.left,
.inquiryPrint tbody tr td.left,
.inquiryPrint thead tr th.left {
  text-align: left;
}
/*.inquiryPrint tr td.totalRow,
.inquiryPrint tbody tr td.totalRow {
  text-align: right;
  font-weight: 700;
  font-size: 10px;
  font-size: 1rem;
}*/
/* supports 15 character value with padding */
.inquiryPrint .wide15 {
  width: 100px;
}
/* supports 30 character value with padding */
.inquiryPrint .wide30 {
  width: 200px;
}

/* trying to insert code conversion to flexbox for printing clinical order only */
.head {
    display:-webkit-flex;
    -webkit-flex-direction:column;
    -webkit-justify-content:flex-start;
    border-bottom:1px solid black;
    padding-bottom:5px;
    margin-bottom:10px;
}

.value {
  display:-webkit-inline-flex;
}

.row {
    display:-webkit-flex;
    -webkit-flex-direction:row;
    -webkit-justify-content:flex-start;
}

.admItem {
    display:-webkit-flex;
    -webkit-flex-direction:row;
    -webkit-justify-content:flex-start;
}

.head .row {
    display:-webkit-flex;
    -webkit-flex-direction:column;
    -webkit-justify-content:flex-start;
}

.admLabel,.label,.label_left {
    text-align:left;
  font-family:Arial;
  font-weight:700;
  font-size:1em;
    margin-right:3px;
}


.row.pushRight {
    text-align:right;
    -webkit-flex-direction:row;
    -webkit-justify-content:flex-end;
    justify-content:flex-end;
}

.admPatientDetails .row {
    margin-top:20px;
    display:-webkit-flex;
    -webkit-flex-direction:row;
    -webkit-justify-content:space-between;
}

.clinicalOrderLineAdministrationDetails table {
    width:100%;
    border-collapse:collapse;
}

.clinicalOrderLineAdministrationDetails table tbody tr {
    border-bottom:1px dotted #818181;
}

.admItem {
    display:-webkit-flex;
    -webkit-flex-direction:row;
    -webkit-justify-content:flex-start;
}
4

3 に答える 3

0

サイトは、inquiryPrint.css ファイルから有効な CSS セレクターの一部を取得していますが、すべてではありません。たとえば、.row を認識してその CSS を適用しますが、.admItem を認識せず、その CSS を適用します。そして、これは jsfiddle で正しく動作するものです。つまり、.admItem は jsfiddle では動作しますが、私のアプリでは動作しません。

これは、特定のメディアを対象としていない他のスタイルシートが、より具体的なセレクターを使用して、印刷スタイルシートにあるルールをオーバーライドしているように聞こえます。

于 2013-05-16T16:41:56.850 に答える