html SI:CMALL

SI:CMALL

log.html
头部嵌入

<div class="sdinfoTop">
	<iframe src="http://www.sdinfo.net/include/indexhead1.htm" frameborder="0" height="65" width="1000"></iframe>
</div>

html Joukowski更有趣

Joukowski更有趣

confmap.js
function dist(z0,z,z1)
{
    var dx10 = z1.re-z0.re, dy10 = z1.im-z0.im;
    var dx0  =  z.re-z0.re,  dy0 =  z.im-z0.im;
    return Math.pow(dx10*dy0-dy10*dx0,2)/(dx0*dx0+dy0*dy0);
}

function resampleLoop(f,ps,eps)
{
    var ds = ps.map(f);

    function refStep(params,data)
    {
        for(var i = 0; i < params.length; i++)
        {
            var ni = i+1<params.length?i+1:0; 
            var p0 = params[i], p1 = params[ni];
            var newp = (p0+p1)/2;
            if( p1-p0 >= Math.PI || p1-p0 <= -Math.PI ) newp += Math.PI;
            var newf = f(newp);
            if(dist(data[i],newf,data[ni]) > eps) 
            { params.splice(++i,0,newp); data.splice(i,0,newf); }
        }
    }

    refStep(ps,ds);
    refStep(ps,ds);
    refStep(ps,ds);
    refStep(ps,ds);
    refStep(ps,ds);

    return ds;
}

function resampleLine(f,ps,eps)
{
    var ds = ps.map(f);

    function refStep(params,data)
    {
        for(var i = 0; i < params.length-1; i++)
        {
            var p0 = params[i], p1 = params[i+1];
            var newp = (p0+p1)/2;
            var newf = f(newp);
            if(dist(data[i],newf,data[i+1]) > eps) 
            { params.splice(++i,0,newp); data.splice(i,0,newf); }
        }
    }

    refStep(ps,ds);
    refStep(ps,ds);
    refStep(ps,ds);
    refStep(ps,ds);
    refStep(ps,ds);

    return ds;
}
index.html
<!DOCTYPE html>
<meta charset="utf-8">
<style>
svg { font: 10px sans-serif; }
.brsh .extent { fill: steelblue; stroke: grey; stroke-width: 0.5px; fill-opacity: .125;}
.brsh .back   { fill: none; stroke: black; stroke-width: 1px;}
.line         { fill: none; stroke: black; stroke-width: 1px; }
.force .line  { fill: none; stroke: red;   stroke-width: 1.5px; }
.poten .line  { fill: none; stroke: blue;  stroke-width: 1.5px; }
.axis         { fill: none; stroke: black; }
</style>
<body>

<form>
      <label><input type="radio" name="mode" value="rctng"> Rectangular</label>
      <label><input type="radio" name="mode" value="crclr" checked> Circular</label>
</form>

<script src="http://d3js.org/d3.v3.min.js"></script>
<script src="confmap.js"></script>
<script>
    function Complex(re, im) { this.re  =   re; this.im  =   im; };
    Complex.prototype.clone = function(){ return new Complex(this.re,this.im); };
    Complex.prototype.add = function(z) { this.re += z.re; this.im += z.im; return this; };
    Complex.prototype.sub = function(z) { this.re -= z.re; this.im -= z.im; return this; };
    Complex.prototype.mul = function(z) 
    { 
        var tmp = this.re;
        this.re = this.re*z.re - this.im*z.im; 
        this.im =     tmp*z.im + this.im*z.re; 
        return this;
    };
                                                     
    Complex.prototype.div = function(z) 
    { 
        var tmp =  this.re, 
              n =     z.re*z.re +    z.im*z.im;
        this.re = (this.re*z.re + this.im*z.im)/n; 
        this.im = (   -tmp*z.im + this.im*z.re)/n; 
        return this;
    };
                                                     
 
    var width = 960, height = 500;

 
    var svg = d3.select("body")
                .append("svg")
                .attr("width",   width)
                .attr("height", height);

    svg.append("clipPath")
       .attr("id","clip")
       .append("rect")
            .attr("x",0).attr("y",0)
            .attr("width",width/2).attr("height",height);


    var mapd = svg.append("g").attr("class","mapd").attr("clip-path","url(#clip)");

    var brsh = svg.append("g").attr("class","brsh")
                              .attr("transform","translate("+width/2+")");

    var brsR = brsh.append("g").attr("class", "poten");
    var brsP = brsh.append("g").attr("class", "force");

    var mapR = mapd.append("g").attr("class", "poten");
    var mapP = mapd.append("g").attr("class", "force");
 
 
    var x1 = d3.scale.linear().range([0, width/2]).domain([-5, 5]);
    var y1 = d3.scale.linear().range([ height, 0]).domain([-5, 5]);
    var x2 = d3.scale.linear().range([0, width/2]).domain([-3, 3]);
    var y2 = d3.scale.linear().range([ height, 0]).domain([-3, 3]);

    mapd.append("g").attr("class","axis")
        .attr("transform","translate(0,"+height/2+")")
        .call(d3.svg.axis().scale(x1).orient("bottom"));

    mapd.append("g").attr("class","axis")
        .attr("transform","translate("+width/4+")")
        .call(d3.svg.axis().scale(y1).orient("left")); 

    brsh.append("g").attr("class","axis")
        .attr("transform","translate(0,"+height/2+")")
        .call(d3.svg.axis().scale(x2).orient("bottom"));

    brsh.append("g").attr("class","axis")
        .attr("transform","translate("+width/4+")")
        .call(d3.svg.axis().scale(y2).orient("left"));

    var line1 = d3.svg.line()
                      .x(function(d) { return x1(d.re); })
                      .y(function(d) { return y1(d.im); });

    var line2 = d3.svg.line()
                      .x(function(d) { return x2(d.re); })
                      .y(function(d) { return y2(d.im); });

    var brush = d3.svg.brush().x(x2).y(y2).on("brush", plotC);    

    brsh.append("rect").attr("class","back")
                       .attr("width",width/2)
                       .attr("height",height);

    brsh.call(brush);

    function plines(sel,data, f)
    {
        var paths = sel.selectAll('.line').data(data);
        paths.enter().append('path').attr('class','line');
        paths.attr('d',f);
        paths.exit().remove();
    }

    d3.selectAll("input").on("change", function(){
        if(this.value==="crclr") brush.on("brush",plotC); 
        else brush.on("brush",plotR);
        brush.on("brush")(); });


    function f(z)    { return z.add((new Complex(1,0)).div(z)) }


    function plotC()
    { 
        if(brush.empty()) return;
        ext = brush.extent();
        
        var rads = d3.range(0,1,1/10);
        var phis = d3.range(-Math.PI,Math.PI,Math.PI/10);

        var x0 = (ext[1][0] + ext[0][0])/2;
        var y0 = (ext[1][1] + ext[0][1])/2;
        var dx = (ext[1][0] - ext[0][0])/2;
        var dy = (ext[1][1] - ext[0][1])/2;

        var Ppars  = rads.map(function(r){return function(t){return new Complex(x0+r*dx*Math.cos(t),y0+r*dy*Math.sin(t));};});
        var Rpars  = phis.map(function(p){return function(t){return new Complex(x0+t*dx*Math.cos(p),y0+t*dy*Math.sin(p));};});

        plines(brsR, Ppars.map(function(par){return phis.map(par);}), function(d){return line2(d)+'Z';});
        plines(brsP, Rpars.map(function(par){return rads.map(par);}), function(d){return line2(d);});

        var PparsF = Ppars.map(function(par){return function(t){return f(par(t)); };});
        var RparsF = Rpars.map(function(par){return function(t){return f(par(t)); };});

        plines(mapR,PparsF.map(function(par){return resampleLoop(par,phis,0.0001);}),function(d){return line1(d)+'Z';});
        plines(mapP,RparsF.map(function(par){return resampleLine(par,rads,0.0001);}),function(d){return line1(d);});
    }

    function plotR()
    { 
        if(brush.empty()) return;
        ext = brush.extent();
        
        var x1 = ext[1][0], x0 = ext[0][0]
        var y1 = ext[1][1], y0 = ext[0][1]
        var dx = ext[1][0] - ext[0][0];
        var dy = ext[1][1] - ext[0][1];

        var xs = d3.range(0,1.01,1/10);
        var ys = d3.range(0,1.01,1/10);

        var Xpars  = xs.map(function(x){return function(t){return new Complex(x0+x*dx,y0+t*dy);};});
        var Ypars  = ys.map(function(y){return function(t){return new Complex(x0+t*dx,y0+y*dy);};});

        plines(brsR, Xpars.map(function(par){return ys.map(par);}), function(d){return line2(d);});
        plines(brsP, Ypars.map(function(par){return xs.map(par);}), function(d){return line2(d);});

        var XparsF = Xpars.map(function(par){return function(t){return f(par(t)); };});
        var YparsF = Ypars.map(function(par){return function(t){return f(par(t)); };});

        plines(mapR,XparsF.map(function(par){return resampleLine(par,ys,0.0001);}),function(d){return line1(d);});
        plines(mapP,YparsF.map(function(par){return resampleLine(par,xs,0.0001);}),function(d){return line1(d);});
    }

</script>
</body>

html require.js配置的复制粘贴示例,包括从“scripts”子目录加载require.js。缩进两个级别(2个空格)

require.js配置的复制粘贴示例,包括从“scripts”子目录加载require.js。缩进两个级别(每个级别2个空格),以便在文档标题中正确插入。

require_config.html
    <script type="text/javascript" src="scripts/require.js" data-main="app/main"></script>
    <script>
      requirejs.config({
        paths: {
          'underscore': 'lib/underscore',
          'jquery'    : 'lib/jquery-2.0.3',
          'backbone'  : 'lib/backbone',
          'relational': 'lib/backbone-relational',
          'css'       : 'lib/css.min'
        },
        shim: {
          underscore: {
            exports: '_'
          },
          backbone: {
            deps: ["underscore", "jquery"],
            exports: "Backbone"
          },
          relational: {
            deps: ["backbone"]
          }
        }
      });
    </script>

html html:boilerplate-base-html

html:boilerplate-base-html

html_boilerplate-base-html.html
<!DOCTYPE html>
<!--[if lt IE 7]>      <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
<!--[if IE 7]>         <html class="no-js lt-ie9 lt-ie8"> <![endif]-->
<!--[if IE 8]>         <html class="no-js lt-ie9"> <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js"> <!--<![endif]-->
	<head>
		<meta charset="utf-8">
		<meta http-equiv="X-UA-Compatible" content="IE=edge">
		<title></title>
		<meta name="description" content="">
		<meta name="viewport" content="width=device-width, initial-scale=1">

		<!-- Place favicon.ico and apple-touch-icon.png in the root directory -->

		<link rel="stylesheet" href="css/normalize.css">
		<link rel="stylesheet" href="css/main.css">
		<script src="js/vendor/modernizr-2.6.2.min.js"></script>
	</head>
	<body>
		<!--[if lt IE 7]>
			<p class="browsehappy">You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> to improve your experience.</p>
		<![endif]-->

	  

		<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
		<script>window.jQuery || document.write('<script src="js/vendor/jquery-1.10.2.min.js"><\/script>')</script>
		<script src="js/plugins.js"></script>
		<script src="js/main.js"></script>

		<!-- Google Analytics: change UA-XXXXX-X to be your site's ID. -->
		<script>
			(function(b,o,i,l,e,r){b.GoogleAnalyticsObject=l;b[l]||(b[l]=
			function(){(b[l].q=b[l].q||[]).push(arguments)});b[l].l=+new Date;
			e=o.createElement(i);r=o.getElementsByTagName(i)[0];
			e.src='//www.google-analytics.com/analytics.js';
			r.parentNode.insertBefore(e,r)}(window,document,'script','ga'));
			ga('create','UA-XXXXX-X');ga('send','pageview');
		</script>
	</body>
</html>

html 降价菜单

降价菜单

md-menu.html
<link rel="stylesheet" href="http://yandex.st/highlightjs/6.2/styles/googlecode.min.css">
 
<script src="http://code.jquery.com/jquery-1.7.2.min.js"></script>
<script src="http://yandex.st/highlightjs/6.2/highlight.min.js"></script>
 
<script>hljs.initHighlightingOnLoad();</script>
<script type="text/javascript">
 $(document).ready(function(){
      $("h2,h3,h4,h5,h6").each(function(i,item){
        var tag = $(item).get(0).localName;
        $(item).attr("id","wow"+i);
        $("#category").append('<a class="new'+tag+'" href="#wow'+i+'">'+$(this).text()+'</a></br>');
        $(".newh2").css("margin-left",0);
        $(".newh3").css("margin-left",20);
        $(".newh4").css("margin-left",40);
        $(".newh5").css("margin-left",60);
        $(".newh6").css("margin-left",80);
      });
 });
</script>
<div id="category"></div>

html 响应性地嵌入YouTube,Vimeo,Google地图,iframe等

响应性地嵌入YouTube,Vimeo,Google地图,iframe等

responsively-embed-iframes.html
<!-- FROM: http://embedresponsively.com/ -->

<!-- YouTube Responsive Embed -->
<style>.embed-container {position: relative; padding-bottom: 56.25%; padding-top: 30px; height: 0; overflow: hidden;} .embed-container iframe, .embed-container object, .embed-container embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }</style>
<div class='embed-container'>
  <iframe src='http://www.youtube.com/embed/' frameborder='0' allowfullscreen></iframe>
</div>

<!-- Vimeo Responsive Embed -->
<style>.embed-container {position: relative; padding-bottom: 56.25%; padding-top: 30px; height: 0; overflow: hidden;} .embed-container iframe, .embed-container object, .embed-container embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }</style>
<div class='embed-container'>
  <iframe src='http://player.vimeo.com/video/' frameborder='0' webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe>
</div>

<!-- Google Maps Responsive Embed -->
<style>.embed-container {position: relative; padding-bottom: 56.25%; padding-top: 30px; height: 0; overflow: hidden;} .embed-container iframe, .embed-container object, .embed-container embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }</style>
<div class='embed-container'></div>

<!-- Generic Iframe Responsive Embed -->
<!-- NOTE: You may want to remove any hard coded values you see below with regards to "width" and "height" in the below code. These values may be in the iFrame SRC parameters, or in the iFrame query string. Experiment to see what works best. -->
<style>.embed-container {position: relative; padding-bottom: 56.25%; padding-top: 30px; height: 0; overflow: hidden;} .embed-container iframe, .embed-container object, .embed-container embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }</style>
<div class='embed-container'></div>

html Registro de eventoopáginaparaobtener conteo de registrados utilizando Google Analytics

Registro de eventoopáginaparaobtener conteo de registrados utilizando Google Analytics

ga.html
<!-- 
  Ejemplo: 
  
  Página: dominio/formulario 
  API: ga.js
-->
<script type="text/javascript">

  var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-XXXXX-X']);
  <?php if( ! isset($_POST['accion'])): // O la condición necesaria 
  ?>
  _gaq.push(['_trackPageview']);
  <?php else: ?>  
  _gaq.push(['_trackPageview', '/gracias']); // Página de ejemplo
  <?php endif; ?>

  (function() {
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
  })();
  
</script>

<form method="post">
  Nombre: <input type="text" name="nombre" placeholder="Ingres tu nombre">  
	<input type="submit" name="accion" value="Registrarme">
</form>

<!--   
  La URl del formulario y la URL del destino (donde se procesa el registro) deben ser diferentes
  para poder crear el objetivo y se pueda analizar mejor el flujo.

  Info sobre registro de páginas y eventos en ga.js
  https://developers.google.com/analytics/devguides/collection/gajs/methods/gaJSApiBasicConfiguration#_gat.GA_Tracker_._trackPageview
  https://developers.google.com/analytics/devguides/collection/gajs/eventTrackerGuide?hl=es
-->
ga.ajax.html
<!-- 
  Ejemplo: 
  
  Página: dominio/formulario 
  API: ga.js
-->
<script type="text/javascript">

  var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-XXXXX-X']);
  _gaq.push(['_trackPageview']);

  (function() {
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
  })();

</script>

<form method="post">
  Nombre: <input type="text" name="nombre" placeholder="Ingres tu nombre">	
	<input type="submit" value="Registrarme">
</form>

<script>
$('form').on('submit', function(e){
  e.preventDefault();
	
  /* 
   * Se puede utilizar el trackeo de página
   * 
   * _gaq.push(['_trackPageview', '/pagina'])
   *
   * Pagina de Ej: /gracias/especialidad-1
   *               /especialidad-1/gracias
   *               /formulario/gracias
   *
   * Lo que se crea conveniente, o como estén manejando las URLs
   */  
  _gaq.push(['_trackPageview', '/gracias']); // Página de ejemplo

  /* 
   * O
   * Se puede utilizar el trackeo de evento
   *  
   * _gaq.push(['_trackEvent', 'Categoria', 'Accion', 'Etiqueta','Valor']);
   */
  _gaq.push(['_trackEvent', 'Videos', 'Play', '']); // Datos de ejemplo
  
	// Enviar el formulario
	// $.post('ruta-para-registrar', {}, function(){});
});	
</script>
<!--   
  La URl del formulario y la URL del destino (donde se procesa el registro) deben ser diferentes
  para poder crear el objetivo y se pueda analizar mejor el flujo.

  Info sobre registro de páginas y eventos en ga.js
  https://developers.google.com/analytics/devguides/collection/gajs/methods/gaJSApiBasicConfiguration#_gat.GA_Tracker_._trackPageview
  https://developers.google.com/analytics/devguides/collection/gajs/eventTrackerGuide?hl=es
-->
analytics.o.ga.html
<!--
  Página: dominio/formulario
  NO AJAX 
  
  Insertar el codigo por defecto de Google Analytics o Universal.
  Ya que la página del formularo es diferente a la página de destino.
  
  Página formulario: dominio/formulario
  Página destino:    dominio/formulario/pagina-destino-de-ejemplo
-->
<script type="text/javascript"><!-- Codigo por defecto de Google Analytics, Básico o Universal --></script>
 
<form action="dominio/formulario/pagina-destino-de-ejemplo" method="post">
  Nombre: <input type="text" name="nombre" placeholder="Ingres tu nombre">  
  <input type="submit" name="accion" value="Registrarme">
</form>
analytics.html
<!-- 
  Ejemplo: 
  
  Página: dominio/formulario 
  API: analytics.js 
-->
<script>
  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');

  ga('create', 'UA-XXXXXXXX-X', 'dominio'); 
   
  <?php if( ! isset($_POST['accion'])): // O la condición necesaria ?>
  ga('send', 'pageview'); 
  <?php else: ?>
  ga('send', 'pageview', '/gracias');  // Página de ejemplo
  <?php endif; ?>
</script>

<form method="post">
  Nombre: <input type="text" name="nombre" placeholder="Ingres tu nombre">	
	<input type="submit" name="accion" value="Registrarme">
</form>
<!--   
  La URl del formulario y la URL del destino (donde se procesa el registro) deben ser diferentes
  para poder crear el objetivo y se pueda analizar mejor el flujo.

  Más info sobre registro de páginas y evemtps en analytics.js
  https://developers.google.com/analytics/devguides/collection/analyticsjs/pages
  https://developers.google.com/analytics/devguides/collection/analyticsjs/events 
-->
analytics.ajax.html
<!-- 
  Ejemplo: 
  
  Página: dominio/formulario
  API: analytics.js
-->
<script>
  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');

  ga('create', 'UA-XXXXXXXX-X', 'dominio'); 
  ga('send', 'pageview');  
</script>

<form method="post">
	Nombre: <input type="text" name="nombre" placeholder="Ingres tu nombre">	
	<input type="submit" value="Registrarme">
</form>
 
<script>
$('form').on('submit', function(e){
  e.preventDefault();
	
  /* 
   * Se puede utilizar el trackeo de página
   * 
   * ga('send', 'pageview', '/pagina')
   *
   * Pagina de Ej: /gracias/especialidad-1
   *               /especialidad-1/gracias
   *               /formulario/gracias
   *
   * Lo que se crea conveniente, o como estén manejando las URLs
   */  
  ga('send', 'pageview', '/gracias'); // Página de ejemplo

  /* 
   * O
   * Se puede utilizar el trackeo de evento
   *  
   * ga('send', 'event', 'Categoria', 'Accion', 'Etiqueta', 'Valor');
   */
  ga('send', 'event', 'Formulario', 'Registrar', 'Una especialidad u otra cosa'); // Datos de ejemplo
  
	// Enviar el formulario
	// $.post('ruta-para-registrar', {}, function(){});
});	
</script>
<!-- 
  Adaptar si se utiliza otro framework.
  
  La URl del formulario y la URL del destino (donde se procesa el registro) deben ser diferentes
  para poder crear el objetivo y se pueda analizar mejor el flujo.
  
  Más info sobre registro de página y eventos con analytics.js 
  https://developers.google.com/analytics/devguides/collection/analyticsjs/pages
  https://developers.google.com/analytics/devguides/collection/analyticsjs/events 
-->

html 少:手表

少:手表

less_watch.html
    <link rel="stylesheet/less" href="{DT_PROJECT}css/_init.less">
	<script>
		var mk = { };
		mk.seajsBase = '{DT_PATH}static/';
		less = {
			env: "development",
			async: false,
			poll: 1000
		};
	</script>
	<script src="{DT_PATH}static/libs/less/1.3.3/less.js"></script>
	<script>
		less.watch();
	</script>

html ixdcw:标签

ixdcw:标签

project_tag.html
# moduleid	module	name
#	1	destoon		核心
#	2	member		会员
#	3	extend		扩展
#	4	company		名企
#	5	sell		招商
#	6	buy			供求
#	7	purchase	采购
#	8	group		团购
#	9	job			人才
#	10	video		视频
#	11	cooperation	合作
#	12	xdcooper	讯都合作
#	13	manual		用车手册
#	14	picture		图片
#	15	activity	活动
#	16	mall		直销
#	17	usedcar		二手车
#	18	lease		租赁
#	19	fours		4S车型
#	21	traffic		交通
#	22	maintaince	汽车保养
#	23	guide		导购
#	24	quote		行情
#	26	information	资讯
#	29	auto		车型库
#	30	service		服务
{php $tag=tag("moduleid=6&condition=status=3&catid=6&pagesize=8&order=".$city_order."edittime desc&template=null");}
<ul class="index-col4 ul-gray graydot text-ellipsis fn-left">
	{loop $tag $i $t}
	<li><a target="_blank" href="{$t['linkurl']}" title="{$t['title']}">{$t['title']}</a></li>
	{/loop}
</ul>

html Резиновыеблоки

Резиновыеблоки

fluid-blocks.html
<!DOCTYPE html>
<html>
<head>
<title></title>
<style type="text/css">
body {
  margin: 0;
  padding: 0;
}

.main {
  max-width: 1000px;
  min-width: 400px;
  margin: 20px auto;
  overflow: hidden;
  background-color: #dfdfdf;
}

.block-main {
  width: 33%;
  float: left;
}

.block {
  float: left;
  border: 2px #aaa solid;
  background: #eee;
  margin: 20px;
  padding: 20px;
}
</style>
</head>
<body>
	<div class="main">
		<div class="block-main">
			<div class="block">В данном случае можно согласиться с А.А. Земляковским и с румынским исследователем Альбертом Ковачем, считающими, что рифма выбирает глубокий строфоид, первым образцом которого принято считать книгу А.Бертрана "Гаспар из тьмы".</div>
		</div>
		<div class="block-main">
			<div class="block">В данном случае можно согласиться с А.А. Земляковским и с румынским исследователем Альбертом Ковачем, считающими, что рифма выбирает глубокий строфоид, первым образцом которого принято считать книгу А.Бертрана "Гаспар из тьмы".</div>
		</div>
		<div class="block-main">
			<div class="block">В данном случае можно согласиться с А.А. Земляковским и с румынским исследователем Альбертом Ковачем, считающими, что рифма выбирает глубокий строфоид, первым образцом которого принято считать книгу А.Бертрана "Гаспар из тьмы".</div>
		</div>
	</div>
</body>
</html>