29
24

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

css履歴書の逆襲

Last updated at Posted at 2016-05-18

訳あって履歴書を書くことになったので以前挫折したcss組版での
細かめな履歴書作成に再チャレンジしようと思いました。

同じことやろうとしてる人を見つけたので需要ないわけではないんかなあと。
[失敗]HTML5とCSS3で履歴書を作ろうとした話

あと作成にはこの記事を全面的に参考にしてます。
そろそろ真面目に、HTMLで帳票を描く話をしようか

どんな成果物ができたか

スクリーンショット 2016-05-18 21.45.07.png

はいどうぞ つliarnose/resume

2016/05/19追記

よく考えたらGithub Pagesで即見れるようにしとけばよかったですね。
liarnose/resume on gh-pages

ここに辿り着くまでにちょっと紆余曲折があったのでそこらへんの話を下に続けます。

枠線は svg で引く

cssの枠線はびみょーにかゆい所に手が届かず最終的に選んだのが
「枠線は文書内容のマークアップとは全く別に用意してしまう」というアプローチでした。
アイデアとしてはこちらの記事からのイタダキです。CSSによる組版作業とその効率化

このsvg枠線は「WYSIWYGなツールで作るんなら全部そっちでやれよ」と思ったので、
「紙でレイアウトを組む」→「テキストべた打ちでsvgを書く」という先史時代な方法で実現しています。

svgの中もmm表記を使っておけば不意のズレとかも起こりづらいかなあと期待していたのですが、
path要素の中でmmを使ったりがどうも難しいみたいだということで断念しています。

viewportの大きさと描写時のmmでの大きさを合わせて(≒描写時にpx→mmに拡大し)
svgの中の単位なしの数字が実質mmとして扱えるようにはしているのですが、
これだと「svgの中にtext要素を配置してそのフォントサイズはptで指定」みたいなことは
できなくなるので100%の大きさで作るのとは一長一短というところでしょうか。

cssで手の届かないかゆい所

履歴書で言うと一番最初に出てくる「証明写真の枠の分へこんでる線のかたまり」を
cssでやろうとして数日間悶絶しました。

  • ボックスをfloatなどを駆使してつなげると外側だけ枠線を太くする処理ができない。
  • tableで組んだりjagridを使うとマークアップの形が崩れがち。
  • 枠線が仮想のボックス枠をペンでなぞるようには書けないのでabsoluteで置いても何かとずれる。
    (box-sizingのborder-boxとpadding-boxのちょうど間みたいなのがない)

今回は使ってませんがtableレイアウト+css regionsとかを使うともうちょい戦えるのかも知れません。

文字は position : absolute で置く

これは先出のCSSによる組版作業とその効率化と同じです。
table要素はそのまま活かしたいので部分的にabsoluteを解除したりして適宜調整していきます。

svgを書く時とこの作業をやる時で出てくる座標の数字がほぼ同じなので二度手間感は否めないです。

改良案

  • svgを外付けにする
  • むしろ逆に1ファイル化する
  • テンプレートエンジン使う
  • 文字部分をformにしちゃう
  • A4版

オチ

時間がなかったので送付状はKINGSOFT プレゼンテーションで作りました。(ギャフン)

29
24
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
29
24

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?