%字符在html中不起作用

时间:2014-01-15 15:44:03

标签: php html

我正在尝试制作一个方法,为我创建一个包含图像的行 我的代码:

function makeRow($name,...){
    $r = '';
    $r .= "<img src=img/mamet.jpg style=padding:3px width=100% height=100% >";
    return $r;
}

但你看到宽度和高度之后的“%”很小吗?

它无法正常工作:( 似乎PHP双引号和单引号对此字符有问题:%(百分比) 我该怎么办 ? 我甚至试过这些:

\%
\\%
"%"
'%'

但仍无效:(

3 个答案:

答案 0 :(得分:6)

应使用:赋值运算符指定CSS规则,而不是=运算符。您还缺少; EOL文字。

尝试以下方法:

function makeRow($name,...)
{
    return '<img src="img/mamet.jpg" style="padding:3px; width:100%; height:100%" />';
}

答案 1 :(得分:0)

假设OP实际上想要使用属性而不是CSS属性:

function makeRow($name,...){
    $r = '';
    $r .= '<img src="img/mamet.jpg" style="padding:3px;" width="100%" height="100%" >';
    return $r;
}

这不起作用的原因是因为it is no longer in the HTML spec。您不能在HTML 5的宽度和高度属性中使用百分比。

相反,将它们放在你的风格中:

style="padding:3px; width:100%; height:100%"

答案 2 :(得分:0)

尝试此功能

function imageTag($src, $attr=array(), $style=array()){
    $img_tag = '<img src="'.$src.'"';
    // check if atributes array is not empty
    if(count($attr)){
       foreach($attr as $name => $value)
          $img_tag .= ' ' . $name . '="' . $value . '";';
    }
    // check if style array is not empty
    if(count($style)){
       $img_tag .= ' style="'; 
       foreach($style as $name => $value)
          $img_tag .= $name . ':' . $value . ';';
       $img_tag .= '"'; 
    } 

    $img_tag .= ' />';
    return $img_tag;
}

功能用法:

echo imageTag('images/image.jpg',array('title' => 'Image title', 'alt' => 'image_alt'), array('height' => '100%', 'width' => '100%', 'padding' => '5px'));