Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 如何在CSS2中仅使用一个跨距向每行添加填充(左和右)?棘手的_Html_Css - Fatal编程技术网

Html 如何在CSS2中仅使用一个跨距向每行添加填充(左和右)?棘手的

Html 如何在CSS2中仅使用一个跨距向每行添加填充(左和右)?棘手的,html,css,Html,Css,我找不到解决这个问题的办法 这是我想要的渲染: HTML: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Conte

我找不到解决这个问题的办法

这是我想要的渲染:

HTML:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
  <div id="wrapper">
    <div id="container">
      <span>Lorem ipsum dolor sit amet,</span>
      <span>consectetur adipisicing elit, sed</span>
      <span>do eiusmod tempor incididunt.</span>
    </div>
  </div>
</body>
</html>
是否可以在
#容器中仅使用一个
(或
,或
)进行精确渲染(每行的左右填充,每行之间的边距)

我想在每行的左侧和右侧添加填充。
因此,单词CONCENTETURdo必须有左填充,单词ametsed(和点)必须有右填充

如果没有,是否可以使用CSS3或jQueryHack实现这一点

谢谢大家!

抱歉,伙计们,我不够清楚。我已经编辑了我的帖子-/

将代码添加到#container span是否解决了您的问题

display: block;
这是您在-

中将代码添加到#container span是否解决了您的问题

display: block;

这是您在-

中的代码,您可以将填充添加到
#container
中,就完成了

#container {
  width: 260px;
  margin-top: 30px;
  float: left;
  padding: 0 20px 0 20px;
}
见:


另外,我认为,仅仅通过设置容器元素的宽度来期望某些行制动器是相当不可靠的。就我的20美分

您可以将填充添加到
#容器中
,就完成了

#container {
  width: 260px;
  margin-top: 30px;
  float: left;
  padding: 0 20px 0 20px;
}
见:


另外,我认为,仅仅通过设置容器元素的宽度来期望某些行制动器是相当不可靠的。就我的20美分

Yoshi是对的。不过,你也可以用Jquery来实现。 但你要知道,这绝对不是一个优雅的解决方案

 $(document).ready(function(){
    $('#container').css('padding', '0px 20px 0px 20px');
 });
啊,还需要从跨度上拆下衬垫。
如果你使用填充和边距,要小心,即(6)有不同的颜色

Yoshi是对的。不过,你也可以用Jquery来实现。 但你要知道,这绝对不是一个优雅的解决方案

 $(document).ready(function(){
    $('#container').css('padding', '0px 20px 0px 20px');
 });
啊,还需要从跨度上拆下衬垫。
如果你使用填充和边距,要小心,即(6)有不同的颜色

这是您为span更新的类

#container span {
  background-color: red;
  padding-left: 20px;
  padding-right: 20px;
  display:block;
}

这是您为span更新的类

#container span {
  background-color: red;
  padding-left: 20px;
  padding-right: 20px;
  display:block;
}

我认为这不能在CSS中完成,当然不能在CSS 2中完成,也不可能在CSS 3中完成

单个范围内的单行由浏览器文本渲染引擎在应用box模型后生成-没有CSS选择器来单独选择行


实现您想要的功能的唯一(**非常**丑陋)方法是计算字符数、计算行长并在计算的行尾插入html空格和

s。

我认为这不能在CSS中完成,当然不能在CSS 2中完成,也可能不能在CSS 3中完成

单个范围内的单行由浏览器文本渲染引擎在应用box模型后生成-没有CSS选择器来单独选择行


实现您想要的功能的唯一(**非常**丑陋)方法是计算字符数,计算行长度,并在计算的行尾插入html空格和

s。

好吧,这是我的答案

显然,这在CSS中是不可能做到的,所以我们必须找到另一种方法来分隔每一行。 一种方法是稍微修改标记和样式表,并解析字符串,为呈现的每一行创建一个范围

丑陋的代码:

String.prototype.spanify = function(nb_char) {
  var regex = '.{1,'+nb_char+'}(\\s|$)|\\S+?(\\s|$)';
  return '<span>' + this.match(RegExp(regex, 'g')).join('</span><span>') + '</span>';
};

$.fn.titleize = function() {
  var title = $(this).html();
  var title_calculated = '<span id="title" style="visibility: hidden; position: absolute;">' + title + '</span>';
  $('body').append(title_calculated);
  var width = $(this).html(title).width() - 20;
  var full_width = $('body').find('#title').width();
  $('#title').remove();
  var nb_lines = Math.floor(full_width / width);
  var nb_char_per_line = Math.floor(title.length / nb_lines);
  var new_title = title.spanify(nb_char_per_line);
  $(this).html(new_title);
}
$('.title').titleize();
String.prototype.spanify=函数(nb_char){
var regex='.{1',+nb_char+'}(\\s |$)|\\s+?(\\s |$);
返回“”+this.match(RegExp(regex,'g')).join(“”)+;
};
$.fn.titleize=函数(){
var title=$(this.html();
var title_计算=“”+title+“”;
$('body')。追加(计算标题);
var width=$(this.html(title).width()-20;
var full_width=$('body').find('title').width();
$('#title')。删除();
var nb_线=数学地板(全宽/宽度);
var nb_char_per_line=数学楼层(title.length/nb_line);
var new_title=title.spanify(每行的字符数);
$(this.html(新标题);
}
$('.title').titleize();

好吧,这是我的答案

显然,这在CSS中是不可能做到的,所以我们必须找到另一种方法来分隔每一行。 一种方法是稍微修改标记和样式表,并解析字符串,为呈现的每一行创建一个范围

丑陋的代码:

String.prototype.spanify = function(nb_char) {
  var regex = '.{1,'+nb_char+'}(\\s|$)|\\S+?(\\s|$)';
  return '<span>' + this.match(RegExp(regex, 'g')).join('</span><span>') + '</span>';
};

$.fn.titleize = function() {
  var title = $(this).html();
  var title_calculated = '<span id="title" style="visibility: hidden; position: absolute;">' + title + '</span>';
  $('body').append(title_calculated);
  var width = $(this).html(title).width() - 20;
  var full_width = $('body').find('#title').width();
  $('#title').remove();
  var nb_lines = Math.floor(full_width / width);
  var nb_char_per_line = Math.floor(title.length / nb_lines);
  var new_title = title.spanify(nb_char_per_line);
  $(this).html(new_title);
}
$('.title').titleize();
String.prototype.spanify=函数(nb_char){
var regex='.{1',+nb_char+'}(\\s |$)|\\s+?(\\s |$);
返回“”+this.match(RegExp(regex,'g')).join(“”)+;
};
$.fn.titleize=函数(){
var title=$(this.html();
var title_计算=“”+title+“”;
$('body')。追加(计算标题);
var width=$(this.html(title).width()-20;
var full_width=$('body').find('title').width();
$('#title')。删除();
var nb_线=数学地板(全宽/宽度);
var nb_char_per_line=数学楼层(title.length/nb_line);
var new_title=title.spanify(每行的字符数);
$(this.html(新标题);
}
$('.title').titleize();

这与jQuery有什么关系?另外,请在问题中贴上你的代码。我没有正确理解这个问题。你想要左右交替填充吗?我已经用一个JSFIDLE编辑了我的问题,以显示我想要的渲染。你认为如果我将整个html+css粘贴到我的帖子中会更好吗?有四个答案似乎可以回答这个问题,但你评论说它们不是理想的解决方案。你只是指着你的小提琴作为参考,但我/我们并不清楚。你能具体说说你的愿望吗?首先:是否每一行都需要一个3像素的底边距?是的,你已经编辑过了,但在此之前,你还没有添加正确的细节,你到底想要什么。在这种情况下,我们可以理解它,但是给我们一个负号是绝对不公平的……这与jQuery有什么关系?另外,请在问题中贴上你的代码。我没有正确理解这个问题。你想左右交替填充吗?我已经用另一个JSFIDLE编辑了我的问题