質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.51%

  • CSS

    7516questions

    CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

  • Chrome

    768questions

    Google Chromeは携帯、テレビ、デスクトップなどの様々なプラットフォームで利用できるウェブブラウザです。Googleが開発したもので、Blink (レンダリングエンジン) とアプリケーションフレームワークを使用しています。

cssでborder-radiusのついた枠線が印刷されません。

解決済

回答 4

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 1,056

nobuzoh

score 150

表題の通りですが、
例えば、

男・女

という表示で、その人の性別に合った方を
border-radiusを使って丸で囲っていますが、
印刷プレビューと実際に印刷したものは丸が消えてしまいます。

border-radiusを使っていないborderは全て印字されています。

ブラウザはChromeを使っていますが、
Operaでも同様でした。
(ほかも試したかったのですが、印刷プレビューが見れないのと、
印刷のもったいなさから試していません)

何か解決策はありませんでしょうか?

例えば、ですが、
background-imageで背景が透過の黒丸画像を使うというのも考えたのですが、

キリン・ゾウ・マントヒヒ

のようにサイズの異なる選択肢もあります。
なので、全選択肢用の画像を作るのは最終手段かな、と考えています。

あ!画像をサイズに合わせて引き伸ばせばいいのか・・・。

borer-radiusが印刷される方法や、
何か他にスマートな手段がありましたらご教示願います。

ちなみに、
Chromeでのプレビュー時に「背景のグラフィック」にはチェックをつけています。
また、border-radiusはベンダープレフィックスを全て記入しています。

--追記--
border-radiusが原因ではありませんでした。
どうもその部分だけが印刷時にcss(index.css)ファイルの内容が反映されていないようで、
直接styleでcssを記入するか印刷用css(print.css)ファイルを設置してそちらに記入すると
枠線が印刷されました。

元々、始めっから印刷プレビューとして表示し、
その部分だけをJQueryで印刷ているため、
印刷用のcssは設置していませんでした。

bootstrapなどのcssの影響かとも思いましたが、
それらを削除しても変わらず、
index.cssは全てのcssの最後に読み込んでいたのを
更にその下にprint.cssをmedia="print"で設置したのですが、
print.cssを削除してindex.cssの最後にprint.cssの内容を記入したとしても
やはり印刷されません。
print.cssにはこれだけしか記入していません。

span.print_circle{
    border:thin solid black !important;
    padding:2px !important;
    border-radius:10px !important;
}


インライン要素だからダメなのかとも思いましたが
関係はありませんでした。
(その部分だけdivに変えたとしても全くindex.cssの内容が反映されない)

囲いが印字されるようになったのは良いのですが、
本質的解決ではないので気持ちが悪いです。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 4

check解決した方法

0

全く何も不思議なことはありませんでした。

<div id="print_wrapper">
    --省略--
<span class="print_circle">男</span>・女
    --省略--
</div>

に対して、
index.cssでは

#print_wrapper span.print_circle{
    border:thin solid black !important;
    padding:2px !important;
    border-radius:10px !important;
}

print.cssでは

span.print_circle{
    border:thin solid black !important;
    padding:2px !important;
    border-radius:10px !important;
}

と書いており、
JQueryではprint_wrapperの中身を印刷していました。
自分でもどうして片方には#print_wrapperがついてもう片方にはつかなかったのか、
また、この部分だけしか#print_wrapperがついてなかったのかわかりません。
もちろん対象を絞り込むために#で始める意図はあったのですが、
他にtableやdivなどから始まる部分はある中で、
spanのこのクラスのみ、#print_wrapperから始めていました。
だからそこだけCSSが反映されなかったということです。

みなさん、お騒がせしました・・・。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

0

SafariとChromeは
-webkit-border-radius
を指定で表示されませんか?

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2016/01/15 17:14

    印刷(プレビューも)すると消えています。

    キャンセル

  • 2016/01/15 18:49

    ベンダープレフィックスを全て記入していますと書いてましたね。
    失礼しました。

    キャンセル

0

回答にはならないかもしれませんが、これはバグかもしれませんね……

まず一番ダメだったGoogle Chrome。
普段愛用してるので、一番最初の確認作業もChromeでやってました。お前なら不具合なんておこらないだろ、おーヨシヨシと。
そしたら、CSS3で指定した『linear-gradient(グラデーション)』『border-radius(角丸)』『Flash』が正常に表示されない。
ブラウザからウェブサイトを印刷するときはIEが一番使える | 北の国ウェブ工房

以下のようなHTML(一部の border の style が none の場合)において、borderが正しく印刷、またはプレビューできません。
border-radius 印刷およびプレビュー不具合 - Google プロダクト フォーラム  

What is the expected behavior? Same style applied on the screen, border-radius on existing border, no background-color fill. What went wrong? When print preview or printing, Google Chrome fills in the block element with a background-color.
Issue 175539 - chromium - CSS border-radius and missing adjacent border printing problem - An open-source project to help move the web forward. - Google Project Hosting

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

-1

ie11, ff40 はオッケーでした。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

同じタグがついた質問を見る

  • CSS

    7516questions

    CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

  • Chrome

    768questions

    Google Chromeは携帯、テレビ、デスクトップなどの様々なプラットフォームで利用できるウェブブラウザです。Googleが開発したもので、Blink (レンダリングエンジン) とアプリケーションフレームワークを使用しています。