Jump to content
tiicaa

É possível repetir background-image em perspectiva?

Recommended Posts

Pessoal, preciso replicar o fundo (piso) em uma aplicação web. Acontece que eu consigo replicar uma parede enviando uma "tira" de imagem e via css repetir em X porém para o chão gostaira de utilizar perspectiva no piso de madeira como nessa imagem - https://i.imgur.com/BwzVfQo.png

Porém na minha aplicação o usuário escolhe o tamanho do container, se ele quiser criar um corredor infinito ele pode inserir o tamanho que quiser, porém eu preciso que o background se repit. 

 

A dúvida é....

É possível replicar background em perspectiva? Se sim, como possso fazer? 

Share this post


Link to post
Share on other sites
20 horas atrás, tiicaa disse:

É possível replicar background em perspectiva? Se sim, como possso fazer? 

Use uma imagem grande em perspectiva e a propriedade CSS background-size.
Veja a solução em https://jsfiddle.net/maujor/mdrozub0/3/

Share this post


Link to post
Share on other sites

<div class="imagem">

 

</div>

 

No CSS:

 

.imagem{

background: url("nomeImagem.formato") no-repeat;

width: 100%;

height: auto;

}

 

 

Obs.: Isso é só uma sugestão, quem sou eu em vista do dinossauro do CSS.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By yuseirender
      Olá, sou novo aqui e preciso de ajuda, criei uma index aqui e localmente fica tudo certo, porem quando vou tentar normalmente em outro pc fica alguns itens fora de foco
       
      local:

      teste:

       
      codigo fonte:
       
    • By manoaj
      Boa tarde pessoal!
      Criei um sistema simples pra web utilizando PHP no backand.
      Mas agora antes do lançamento do sistema surgiu a necessidade de um app de consulta a esse sistema com funções básicas da plataforma Web, ou seja nem todas as funcionalidades serão implementadas no app agora no início.
      Qual a minha melhor alternativa no desenvolvimento híbrido hj em questão de agilidade no desenvolvimento considerando que minha plataforma web e o banco de dados mysql já estão prontos???
    • By geivisonsales
      Tenho um site sobre conteudos de entretenimento, e todos os posts tem uma imagem de fundo do tmdb, tem alguma maneira de otimizar o carregamento dessas imagens por url? ou alguma outra maneira?
    • By juniorerb21
      Tenho um site em php e quero alterar o cabeçalho e os icones do cabeçalho, e não sei muito de programação, sei o básico, não consegui alterar, quem poder me ajudar vai ser de grande ajuda!

    • By Yiuky
      Olá tenho esse código abaixo e a parte em vermelho é um HTML carregado pelo meu Arduíno, e como podem ver, ao clicar no botão LIGAR/DESLIGAR é enviado um retorno pelo <a href> porém eu gostaria de saber como posso apenas coletar esse retorno /L OU /H e carregar a pagina index / (barra vazia)? Ou se posso clicar no LIGAR/DESLIGAR e adicionar algo para que a pagina "atualize" ou vá para a /?
       
      // \r\n no final de todos os códigos AT para pular linhas e reconhecer comando
      #include "SDHT.h"
      #include "WiFiEsp.h" //INCLUSÃO DA BIBLIOTECA
      #include <SoftwareSerial.h>
      //Pino do Tx no 6, pino Rx no 7
      SoftwareSerial esp8266(6, 7);
      SDHT dht;
      char ssid[] = "2.4_GAMBATESHIMA"; //VARIÁVEL QUE ARMAZENA O NOME DA REDE SEM FIO
      char pass[] = "FACA2010";//VARIÁVEL QUE ARMAZENA A SENHA DA REDE SEM FIO
      //char ssid[] = "Ali"; //VARIÁVEL QUE ARMAZENA O NOME DA REDE SEM FIO
      //char pass[] = "01010101";//VARIÁVEL QUE ARMAZENA A SENHA DA REDE SEM FIO
      WiFiEspServer server(81); //CONEXÃO REALIZADA NA PORTA 80
      RingBuffer buf(8); //BUFFER PARA AUMENTAR A VELOCIDADE E REDUZIR A ALOCAÇÃO DE MEMÓRIA
      #define DEBUG true
        int statusLed = LOW; //VARIÁVEL QUE ARMAZENA O ESTADO ATUAL DO LED (LIGADO / DESLIGADO)
        String temperatura;
        String umidade;
        
        int status = WL_IDLE_STATUS;
        
      void lerTempUmi(){
        dht.broadcast(DHT11, A1);
        delay(500);
        temperatura = String (dht.celsius, 0);
        umidade = String (dht.humidity, 0);
         }
        
      void setup() 
      {
          Serial.begin(9600);
          esp8266.begin(9600);
          WiFi.init(&esp8266);   // initialize ESP module
          pinMode(12, OUTPUT);
          digitalWrite(12, statusLed);
        if (WiFi.status() == WL_NO_SHIELD)  // check for the presence of the shield 
        {
          Serial.println("WiFi shield not present");
          // don't continue
          while (true);
        }
        // attempt to connect to WiFi network
        while ( status != WL_CONNECTED) {
          Serial.print("Attempting to connect to WPA SSID: ");
          Serial.println(ssid);
          // Connect to WPA/WPA2 network
          status = WiFi.begin(ssid, pass);
        }
        Serial.println("You're connected to the network");
        printWifiStatus();
        
        while ( status != WL_CONNECTED) {
          Serial.print("Attempting to connect to WPA SSID: ");
          WiFi.init(&esp8266);
          WiFi.begin(ssid, pass);
          Serial.println(ssid);
          // Connect to WPA/WPA2 network
          status = WiFi.begin(ssid, pass);
        }
        //sendData("AT+RST\r\n", 2000, DEBUG); // rst
        //sendData("AT+CWMODE=1\r\n",2000, DEBUG); 
        //sendData("AT+CWJAP=\"2.4_GAMBATESHIMA\",\"FACA2010\"\r\n", 5000, DEBUG);
            
        //sendData("AT+CIFSR\r\n", 2000, DEBUG);//You will get the IP Address of the ESP8266 from this command. 
        //sendData("AT+CIPMUX=1\r\n", 2000, DEBUG);
        //sendData("AT+CIPSERVER=1,80\r\n", 2000, DEBUG);
        //sendData("AT+CIPSTART=0,\"TCP\",\"192.168.0.120\",37777\r\n",1000, DEBUG);                          // escolhe entre conexao TCP ou UDP 
        //delay(1000); 
        //sendData("AT+CWDHCP=1,0\r\n",1000, DEBUG);                                                        // configura ESP8266 para receber um IP do roteador conectado
        //delay(1000);
        //sendData("AT+CIPSTA_DEF=\"192.168.2.5\",\"192.168.2.1\",\"255.255.255.0\"\r\n",1000, DEBUG);      // configura novo IP a ser escolhido - IP fixo, IP do roteador, Mascara da Rede (lembrando que o IP a ser escolhido deve estar na mesma faixa do roteador);
        //delay(1000);   
        //sendData("AT+CIFSR\r\n", 1000, DEBUG);                                                              // Mostra o endereco IP
        //delay(3000);
        
        // Configura para multiplas conexoes
        //sendData("AT+CIPMUX=1\r\n", 1000, DEBUG);                                                           // Abre multiplas conexoes
        //delay(2000);
        //sendData("AT+CIPSERVER=1,80\r\n", 1000, DEBUG);
        delay(1000);
        server.begin();
        
      }
      void loop() 
      {
             WiFiEspClient client = server.available(); //ATENDE AS SOLICITAÇÕES DO CLIENTE
            if (client) { //SE CLIENTE TENTAR SE CONECTAR, FAZ
            buf.init(); //INICIALIZA O BUFFER
            boolean currentLineIsBlank = true;
            while (client.connected()){ //ENQU
            if(client.available()){ //SE EXISTIR REQUISIÇÃO DO CLIENTE, FAZ
              char c = client.read(); //LÊ A REQUISIÇÃO DO CLIENTE
              buf.push(c); //BUFFER ARMAZENA A REQUISIÇÃO
               //IDENTIFICA O FIM DA REQUISIÇÃO HTTP E ENVIA UMA RESPOSTA
              if(buf.endsWith("\r\n\r\n") && currentLineIsBlank) {
       //         lerTempUmi();
                WebPage2(client);
                break;
              }else if(buf.endsWith("GET /H")){ //SE O PARÂMETRO DA REQUISIÇÃO VINDO POR GET FOR IGUAL A "H", FAZ 
                  digitalWrite(12, HIGH); //ACENDE O LED
                  statusLed = HIGH; //VARIÁVEL RECEBE VALOR 0(SIGNIFICA QUE O LED ESTÁ APAGADO)
              }else if (buf.endsWith("GET /L")) { //SE O PARÂMETRO DA REQUISIÇÃO VINDO POR GET FOR IGUAL A "L", FAZ
                        digitalWrite(12, LOW); //APAGA O LED
                        statusLed = LOW; //VARIÁVEL RECEBE VALOR 0(SIGNIFICA QUE O LED ESTÁ APAGADO)
                   }
                   }
                   
                   }
                   delay(10);
            client.stop();
      //sendData("AT+CIPCLOSE=0\r\n", 1000, DEBUG);
                    }
      if (status != WL_CONNECTED) {
        setup();}
      }
      void WebPage2(WiFiEspClient client){
        client.print(
          "HTTP/1.1 200 OK\r\n"
          "Content-Type: text/html\r\n"
       //   "Connection: close\r\n"  // the connection will be closed after completion of the response
          "\r\n");
        client.println("");
        client.println(F("<!DOCTYPE HTML>")); //INFORMA AO NAVEGADOR A ESPECIFICAÇÃO DO HTML
        client.println(F("<html><head><meta charset=\"utf-8\">")); //ABRE A TAG "html"
        client.println(F("<link rel='stylesheet' type='text/css' href='http://blogmasterwalkershop.com.br/arquivos/artigos/sub_wifi/webpagecss.css' />\n"
        "<link rel=\"icon\" type=\"image/png\" href=\"webserver\" src=\"https://tse3.mm.bing.net/th?id=OIP.iEsBOeq78HtIighYnuVMRAHaHa&amp;pid=Api&amp;P=0&amp;w=300&amp;h=300.png\">\n"
      "  <title>GAMBATESHIMA ARDUINO WORK</title>"));
        
        //AS LINHAS ABAIXO CRIAM A PÁGINA HTML
        client.println(F("<body class=\"htmlNoPages\">\n"
      "  <img alt=\"webserver\" src=\"https://tse3.mm.bing.net/th?id=OIP.iEsBOeq78HtIighYnuVMRAHaHa&amp;pid=Api&amp;P=0&amp;w=300&amp;h=300.png\" style=\"width: 150px; height: 150px; margin-top: 50px;\">\n"
      "  <p style=\"line-height: 2;\" class=\"gwd-p-pzi3\"><font>WEBSERVER GAMBATESHIMA</font></p><p>ESTADO ATUAL DO LED: \n"));
          if (statusLed == HIGH) {
      client.println(F(" <strong><font color=\"green\">LIGADO</font></strong></p>\n"
            "<a href=\"/L\" style=\"margin-bottom:50px;\">DESLIGAR</a>\n"));
          }else {
            if (statusLed == LOW) {
      client.println(F(" <strong><font color=\"red\">DESLIGADO</font></strong></p>\n"
            "<a href=\"/H\" style=\"margin-bottom:50px;\">ACENDER</a>\n"));
          }}
                lerTempUmi();
      client.println(F( 
      "  <hr width=\"250\">\n"
      "  <p style=\"line-height: 0;\"><font color=\"red\">TEMPERATURA: </font>"));
      client.print(temperatura);
      client.println(F(" ºC</p>\n <hr width=\"250\">\n"
      "  <p style=\"line-height: 0;\"><font color=\"red\">UMIDADE: </font>"));
      client.print(umidade);
      client.println(F(" %</p>\n <hr width=\"250\">\n"
      "<a href=\"/\">ATUALIZAR</a>\n"
      "</body>\n"
      "</html>
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.