【问题标题】:Keep div in desired place with css, external content使用 css、外部内容将 div 保持在所需的位置
【发布时间】:2013-09-14 03:45:55
【问题描述】:

这是我的问题。

我有一个函数,PHP 类端,它从一个表中读取所有数据,创建具有特定 CSS id 的所有 div,将数据放置到位,其中一个数据来自外部源,外部 php文件。

所以我在代码中这样做:

$Return .= "</div><div id='PostTitleComplete'><strong>Post Completo</strong></div><div id='PostText'>";
$Return .= include($row['PathFile']);
$Return .= "</div><div id='PostData'>";

所有 div 都正确打开和关闭,所有数据都正常工作,直到我将过去从表中加载的数据更改为包含文件的 div。

外部文件只有从Visual Studio的HTML复制生成的HTML代码,一切都很好,我曾经在其他地方使用过该html代码,直到知道没有问题。

因此,CSS 如下:

这是用于保存包含文件的 CSS:

#PostText {
    text-align:center;
    padding: 15px;
    word-wrap: break-word;
}

这是上面那个的父级:

#PostBody {
    border: #00C 1px solid;
    width:80%;
    background:#FFFFFF;
    float:left;
}

这些是包含文件中的 CSS: 一个 div 包含一个,就像名字所说的那样。

#FirstOne {
    border: #000080 1px solid; 
    color: #000; 
    font-family: 'Courier New', Courier, Monospace; 
    font-size: 9pt;
}
#SecondOne {
    background: #000080; 
    color: #fff; 
    font-family: Verdana, Tahoma, Arial, sans-serif; 
    font-weight: bold; 
    padding: 2px 5px;
}

我在一个博客中使用了相同的结构,但我没有使用包含文件,而是使用了表中的数据,所以我认为问题出在 CSS 上。这是我得到的结果。这个 Giang Div 完全可以根据屏幕大小进行调整,但它会停留在那里,而不是这里的箭头点,并且在这里打印包含。

【问题讨论】:

    标签: php css html


    【解决方案1】:

    嗯……

    返回值1是因为include-语句执行成功。

    如果包含的文件不包含任何需要运行的代码,您可以使用file_get_contents()

    $Return .= "</div><div id='PostTitleComplete'><strong>Post Completo</strong></div><div id='PostText'>";
    $Return .= file_get_contents($row['PathFile']);
    $Return .= "</div><div id='PostData'>";
    

    作为参考,如果包含文件确实有必须执行的代码,请使用输出缓冲:

    function get_include_contents($filename) {
        if (is_file($filename)) {
            ob_start();
            include $filename;
            return ob_get_clean();
        }
        return false;
    }
    $Return .= "</div><div id='PostTitleComplete'><strong>Post Completo</strong></div><div id='PostText'>";
    $Return .= get_include_contents($row['PathFile']);
    $Return .= "</div><div id='PostData'>";
    

    以上代码取自PHP-manual (include-statement, example 6)

    【讨论】:

    • $Return .= file_get_contents($row['PathFile']);效果很好,谢谢
    【解决方案2】:

    不要使用 incude 尝试使用 file_get_content()

    $Return .= "</div><div id='PostTitleComplete'><strong>Post Completo</strong></div>";
    $Return .= "<div id='PostText'>";
    
    $Return .= file_get_content($row['PathFile']);
    
    $Return .= "</div><div id='PostData'>";
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-04-10
      • 2012-01-12
      • 1970-01-01
      • 2023-03-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多