comment_list.inc': $pre .= $default_pre .= 'comment_list.inc.htm'; break; case 'message': $pre .= $default_pre .= 'message.htm'; break; case 'tag_list': $pre .= $default_pre .= 'tag_list.htm'; break; case 'tag': $pre .= $default_pre .= 'tag.htm'; break; case 'flag': $pre .= $default_pre .= 'flag.htm'; break; case 'my': $pre .= $default_pre .= 'my.htm'; break; case 'my_password': $pre .= $default_pre .= 'my_password.htm'; break; case 'my_bind': $pre .= $default_pre .= 'my_bind.htm'; break; case 'my_avatar': $pre .= $default_pre .= 'my_avatar.htm'; break; case 'home_article': $pre .= $default_pre .= 'home_article.htm'; break; case 'home_comment': $pre .= $default_pre .= 'home_comment.htm'; break; case 'user': $pre .= $default_pre .= 'user.htm'; break; case 'user_login': $pre .= $default_pre .= 'user_login.htm'; break; case 'user_create': $pre .= $default_pre .= 'user_create.htm'; break; case 'user_resetpw': $pre .= $default_pre .= 'user_resetpw.htm'; break; case 'user_resetpw_complete': $pre .= $default_pre .= 'user_resetpw_complete.htm'; break; case 'user_comment': $pre .= $default_pre .= 'user_comment.htm'; break; case 'single_page': $pre .= $default_pre .= 'single_page.htm'; break; case 'search': $pre .= $default_pre .= 'search.htm'; break; case 'operate_sticky': $pre .= $default_pre .= 'operate_sticky.htm'; break; case 'operate_close': $pre .= $default_pre .= 'operate_close.htm'; break; case 'operate_delete': $pre .= $default_pre .= 'operate_delete.htm'; break; case 'operate_move': $pre .= $default_pre .= 'operate_move.htm'; break; case '404': $pre .= $default_pre .= '404.htm'; break; case 'read_404': $pre .= $default_pre .= 'read_404.htm'; break; case 'list_404': $pre .= $default_pre .= 'list_404.htm'; break; default: $pre .= $default_pre .= theme_mode_pre(); break; } if ($config['theme']) { $conffile = APP_PATH . 'view/template/' . $config['theme'] . '/conf.json'; $json = is_file($conffile) ? xn_json_decode(file_get_contents($conffile)) : array(); } !empty($json['installed']) and $path_file = APP_PATH . 'view/template/' . $config['theme'] . '/htm/' . ($id ? $id . '_' : '') . $pre; (empty($path_file) || !is_file($path_file)) and $path_file = APP_PATH . 'view/template/' . $config['theme'] . '/htm/' . $pre; if (!empty($config['theme_child']) && is_array($config['theme_child'])) { foreach ($config['theme_child'] as $theme) { if (empty($theme) || is_array($theme)) continue; $path_file = APP_PATH . 'view/template/' . $theme . '/htm/' . ($id ? $id . '_' : '') . $pre; !is_file($path_file) and $path_file = APP_PATH . 'view/template/' . $theme . '/htm/' . $pre; } } !is_file($path_file) and $path_file = APP_PATH . ($dir ? 'plugin/' . $dir . '/view/htm/' : 'view/htm/') . $default_pre; return $path_file; } function theme_mode_pre($type = 0) { global $config; $mode = $config['setting']['website_mode']; $pre = ''; if (1 == $mode) { $pre .= 2 == $type ? 'portal_category.htm' : 'portal.htm'; } elseif (2 == $mode) { $pre .= 2 == $type ? 'flat_category.htm' : 'flat.htm'; } else { $pre .= 2 == $type ? 'index_category.htm' : 'index.htm'; } return $pre; } ?>javascript - Print divs in two columns - Stack Overflow
最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - Print divs in two columns - Stack Overflow

programmeradmin1浏览0评论

I have a php application that generates data to a web page. The user then prints the document.

The data is divided into sections and each section is a div. The width of the div is fixed but the height can vary. I would like the printed output to be in two columns like so:

Page 1
---------------------
|  DIV 1  |  DIV 4  |
|---------|---------|
|  DIV 2  |  DIV 5  |
|         |---------|
|---------|  DIV 6  |
|  DIV 3  |         |
|         |         |
---------------------

Page 2
---------------------
|  DIV 7  |  DIV 10 |
|---------|---------|
|  DIV 8  |  DIV 11 |
|         |---------|
|---------|  DIV 12 |
|  DIV 9  |         |
|         |         |
---------------------

...and so on

Is this possible to do without having to hard-code the structure? Perhaps some javascript/jquery solution?

I have a php application that generates data to a web page. The user then prints the document.

The data is divided into sections and each section is a div. The width of the div is fixed but the height can vary. I would like the printed output to be in two columns like so:

Page 1
---------------------
|  DIV 1  |  DIV 4  |
|---------|---------|
|  DIV 2  |  DIV 5  |
|         |---------|
|---------|  DIV 6  |
|  DIV 3  |         |
|         |         |
---------------------

Page 2
---------------------
|  DIV 7  |  DIV 10 |
|---------|---------|
|  DIV 8  |  DIV 11 |
|         |---------|
|---------|  DIV 12 |
|  DIV 9  |         |
|         |         |
---------------------

...and so on

Is this possible to do without having to hard-code the structure? Perhaps some javascript/jquery solution?

Share Improve this question asked Nov 24, 2010 at 11:33 TomTom 1,0574 gold badges15 silver badges27 bronze badges
Add a ment  | 

4 Answers 4

Reset to default 4

You can't guarantee with HTML/CSS that it will print correctly in all scenarios, and you definitely don't want to go down the route of javascript to ensure correct printing (been there done that).

You're best bet is to dynamically create a PDF using a library such as iTextSharp.

There's a jquery plugin called Columnizer that I've used before that's quite good and I think does what you want.

If you'd be able to layout this page in pure CSS, that would be your solution:

http://www.webcredible.co.uk/user-friendly-resources/css/print-stylesheet.shtml

The browser will use the stylesheet defined for printing, when it is printing your page.

I found that using the css {column-count: 2;} works once place in the print tag

发布评论

评论列表(0)

  1. 暂无评论