2

作業中の Web サイトに Bootstrap で MVC 4 を使用しています。かなり単純なレイアウトで、一番上にある Bootstrap ナビゲーション バー (navbar-fixed-top) と、メニューのすぐ下にページ タイトル、絶対位置と高さを持つ div があります。

次に、ページ コンテンツには div があり、ページ タイトルのすぐ下から始まるように設定された絶対位置があります。本文のオーバーフローは none に設定され、ページ コンテンツでは auto に設定されます。

body, html
{
    height: 100%;
    overflow: hidden;
}

.PageTitle
{
    position: absolute;
    top: 40px;
    left: 0;
    right: 0;
    height: 60px;
    color: #fdf4f4;
    background-color: #4266cd;
    border-color: #bce8f1;
}

.Content
{
    overflow: auto;
    position: absolute;
    top: 100px;
    left: 0;
    right: 0;
    bottom: 0;
}

これは他のページでは問題なく機能しますが、毎月のチラシ (PDF) を表示する必要があり、コンテンツ領域を埋めて、ユーザーがスクロールできるようにする必要があります。問題はもちろん、高さ 100% の iFrame を追加すると、コンテンツ div (親) の高さが取得され、それがブラウザー ウィンドウの高さになることです。高さを 100% ~ 100px に設定するように指示できれば、非常にクールです。

jQuery を使用してサイズを変更しようとしましたが、成功しませんでした。

誰かが途中で私を助けるかもしれないいくつかのアイデアを持っていますか?

ありがとう。

更新: Akshay Khandelwal の投稿を読み、私がやろうとしていることの基本を含む単純な HTML ページを作成しました。以前に抱えていた問題を再現する過程で、解決策を見つけたかもしれません。以下のコードが機能するようです。これが良い方法かどうかはわかりません。

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title>PDF View Test</title>

        <style>
            body
            {
                margin: 0;
                overflow: hidden;
            }

            .NavBarTop
            {
                position: fixed;
                top: 0;
                left: 0;
                right: 0;
                height: 40px;
                margin-bottom: 0;
                background: #778899;
            }

            .PageTitle
            {
                position: absolute;
                top: 40px;
                left: 0;
                right: 0;
                height: 60px;
                color: #fdf4f4;
                background-color: #4266cd;
                border-color: #bce8f1;
            }

            .Content
            {
                overflow: hidden;
                position: absolute;
                top: 100px;
                left: 0;
                right: 0;
                bottom: 0;
            }

            h3
            {
                color: rgb(253, 244, 244);
                display: block;
                font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
                font-size: 25px;
                font-weight: bold;
                height: 40px;
                line-height: 40px;
                margin-bottom: 10px;
                margin-left: 0;
                margin-right: 0;
                margin-top: 10px;
                text-align: center;
            }

            h4
            {
                color: rgb(253, 244, 244);
                display: block;
                font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
                font-size: 20px;
                font-weight: bold;
                height: 20px;
                line-height: 20px;
                margin-bottom: 5px;
                margin-left: 0;
                margin-right: 0;
                margin-top: 10px;
                text-align: center;
            }

            iframe
            {
                position: absolute;
                top: 0;
                left: 0;
                right: 0;
                bottom: 0;
                width: 100%;
                height: 100%;
            }
        </style>
    </head>
    <body>
        <div class="NavBarTop">
            <h4>This is the menu bar.</h4>
        </div>

        <div class="PageTitle">
            <h3>The Page Title</h3>
        </div>

        <div class="Content">
            <iframe src="http://wwwimages.adobe.com/www.adobe.com/content/dam/Adobe/en/products/content-server/pdfs/adobe-ebook-platform-whitepaper.pdf"/>
        </div>
    </body>
</html>
4

1 に答える 1

0

それが最善の方法であるとは確信していませんが、私が求めていた質問に対する答えを見つけました。完全を期すために、Web ページに埋め込まれた PDF を提供する HTML を次に示します。スクロール バーは PDF ドキュメントのみをスクロールし、ページ タイトルやメニューはスクロールしません。

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title>PDF View Test</title>

        <style>
            body
            {
                margin: 0;
                overflow: hidden;
            }

            .NavBarTop
            {
                position: fixed;
                top: 0;
                left: 0;
                right: 0;
                height: 40px;
                margin-bottom: 0;
                background: #778899;
            }

            .PageTitle
            {
                position: absolute;
                top: 40px;
                left: 0;
                right: 0;
                height: 60px;
                color: #fdf4f4;
                background-color: #4266cd;
                border-color: #bce8f1;
            }

            .Content
            {
                overflow: hidden;
                position: absolute;
                top: 100px;
                left: 0;
                right: 0;
                bottom: 0;
            }

            h3
            {
                color: rgb(253, 244, 244);
                display: block;
                font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
                font-size: 25px;
                font-weight: bold;
                height: 40px;
                line-height: 40px;
                margin-bottom: 10px;
                margin-left: 0;
                margin-right: 0;
                margin-top: 10px;
                text-align: center;
            }

            h4
            {
                color: rgb(253, 244, 244);
                display: block;
                font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
                font-size: 20px;
                font-weight: bold;
                height: 20px;
                line-height: 20px;
                margin-bottom: 5px;
                margin-left: 0;
                margin-right: 0;
                margin-top: 10px;
                text-align: center;
            }

            iframe
            {
                position: absolute;
                top: 0;
                left: 0;
                right: 0;
                bottom: 0;
                width: 100%;
                height: 100%;
            }
        </style>
    </head>
    <body>
        <div class="NavBarTop">
            <h4>This is the menu bar.</h4>
        </div>

        <div class="PageTitle">
            <h3>The Page Title</h3>
        </div>

        <div class="Content">
            <iframe src="http://wwwimages.adobe.com/www.adobe.com/content/dam/Adobe/en/products/content-server/pdfs/adobe-ebook-platform-whitepaper.pdf"/>
        </div>
    </body>
</html>
于 2013-02-02T21:00:24.233 に答える